2011-05-06 91 views
0

我是Xcode和Objective-c的新手。最近我想做一個關於彈出桌面視圖的任務。當按下按鈕時,桌面視圖應該從屏幕底部彈出。 tableview將包含只有幾個項目,所以我不想佔用全屏。我閱讀手冊並找到了UIModalPresentationStyle,但似乎不符合我的要求。那麼我可以使用哪些更準確的方法?如何實現從屏幕底部彈出tableview的效果?

回答

1

雖然@Bharat J的答案是正確的,這些方法已被棄用iOS中4.0。

最新最好的實現是+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations

實現爲:

[UIView animateWithDuration:0.5 animations: ^{ 
     tableView.frame = newFrame; 
    } 
]; 
1

您可以使用下面的代碼創建一個動畫塊。將表格視圖的框架設置爲(0,480,320,0)當您按下按鈕時,將更改動畫區塊中表格視圖的框架,並將其設置爲CGRectMake(0,200,320,280)或其他東西。

[UIView beginAnimations:@"AnimateTableView" context:view]; 
    [UIView setAnimationDuration:0.5]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; 

    tableView.frame = CGRectMake(0, 200 , 320, 280); 

    [UIView commitAnimations]; 

用於隱藏它的同一個動畫塊,但是再次使用該框架將其設置爲CGRectMake(0,480,320,0)。這應該適用於你的情況。

相關問題