我該如何開發一個像這樣的工具欄,並帶有一個按鈕,當它按下時顯示另一個工具欄(在當前工具欄上滑動)?這是來自Apple的iPhoto應用程序的屏幕截圖。iPhoto中顯示另一個滑動工具欄的按鈕
http://i.stack.imgur.com/dKYZq.png
我該如何開發一個像這樣的工具欄,並帶有一個按鈕,當它按下時顯示另一個工具欄(在當前工具欄上滑動)?這是來自Apple的iPhoto應用程序的屏幕截圖。iPhoto中顯示另一個滑動工具欄的按鈕
http://i.stack.imgur.com/dKYZq.png
我得到這個使用下面的工作(免責聲明:這可能違反HIG!):
我用下面的代碼:
- (IBAction)AddPressed:(id)sender {
CGRect secondCurrRect = [[self SecondToolbar] frame];
[[self SecondToolbar] setFrame:CGRectMake(0, -1 * secondCurrRect.size.height, secondCurrRect.size.width, secondCurrRect.size.height)];
[[self view] addSubview:[self SecondToolbar]];
[[self view] bringSubviewToFront:[self SecondToolbar]];
[UIView animateWithDuration:1.0
animations:^(void){
[[self SecondToolbar] setFrame:CGRectMake(0, 0, secondCurrRect.size.width, secondCurrRect.size.height)];
}];
}
- (IBAction)TrashPressed:(id)sender {
CGRect secondCurrRect = [[self SecondToolbar] frame];
[UIView animateWithDuration:1.0
animations:^(void){
[[self SecondToolbar] setFrame:CGRectMake(0, -1 * secondCurrRect.size.height, secondCurrRect.size.width, secondCurrRect.size.height)];
}
completion:^(BOOL finished) {
[[self SecondToolbar] removeFromSuperview];
}];
}
使用代碼,新UIToolbar滑動開/關在頂部的 「基地」 UIToolbar。
編輯/更新
讓我們嘗試不同的戰術。 (這是假設你要添加在設計時UIToolbar
對象的廈門國際銀行)
-(void)viewDidLoad
方法(這將移動第二個工具欄關閉屏幕):[[self Toolbar2] setFrame:
CGRectMake(0, // origin.x
-[[self Toolbar2] frame].size.height, // origin.y
[[self Toolbar2] frame].size.width, // size.width (remains the same)
[[self Toolbar2] frame].size.height) // size.height (remains the same)
];
然後,從上面使用的代碼,而是跳轉到來電addSubview:
和removeFromSuperview
。
現在有道理嗎?
你能解釋一下嗎?請問?感謝您的解釋 – 2012-05-02 14:55:35
因此,通常在Interface Builder中,您有一個主視圖,並將所有子視圖添加到該視圖。然而,它不一定是那樣。你可以在主視圖外添加任何你想要的***。它出現在與其他視圖相同的「對象」層次結構中,而它們本質上是無關的。但是,您仍然可以創建IBOutlet/IBAction連接。這樣,直到你編程調用'addSubview',第二個'UIToolbar'與你的主視圖無關。 – mbm29414 2012-05-02 18:16:44
或者,您可以將第二個'UIToolbar'添加到您的主視圖並將其定位,使其離開屏幕。然後,您可以簡單地管理/製作其框架以使其顯現/消失。不過,我喜歡真正將它放在屏幕上,這就是我稱之爲「addSubview:」和「removeFromSuperview」的原因。 – mbm29414 2012-05-02 18:21:58
[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – CodaFi 2012-04-23 00:03:42
我不知道該怎麼做 – 2012-04-23 14:22:24