self.navigationItem.rightBarButtonItem = myBtn;
如果在iPhone上,可能會覺得一個按鈕就已經將位置佔滿了,但在iPad上面卻擁有很大的空間,所以大部份的人應該會希望在上面可以做出更多的變化,或是塞入更多的按鈕。
概念:
1. rightBarButtonItem或是leftBarButtonItem所接收的參數是UIBarButtonItem
2. UIBarButtonItem在init的時候可以利用initWithCustomView接入一個自定義的UIView
以加入一個圖片按鈕,兩個一般按鈕為例:
//定義三個想要加入的按鈕,
btnitem_layercontrol = [[UIBarButtonItem alloc] initWithTitle:@"功能一" 
                                                            style:UIBarButtonItemStyleBordered    
                                                           target:self         
                                                           action:@selector(btn_function1_Click)]; 
btnitem_findlocation = [[UIBarButtonItem alloc] initWithTitle:@"功能二" 
                                                            style:UIBarButtonItemStyleBordered 
                                                           target:self 
                                                           action:@selector(btn_function2_Click)]; 
    
    UIImage *image = [UIImage imageNamed:@"search1_30.png"];
    UIBarButtonItem *imagetestButton = [[UIBarButtonItem alloc] initWithImage:image 
                                                                      style:UIBarButtonItemStylePlain 
                                                                     target:self 
                                                                     action:@selector(btn_whereIam_Click)]; 
//將按鈕加到NSMutableArray當中。
NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:3];
[buttons addObject:imagetestButton]; 
[buttons addObject:btnitem_layercontrol]; 
[buttons addObject:btnitem_findlocation]; 
//建立一個UIToolbar來裝載剛剛建立的NSMutableArray
UIToolbar* toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 200, 44)]; 
[toolbar setTintColor:[self.navigationController.navigationBar tintColor]]; 
[toolbar setAlpha:[self.navigationController.navigationBar alpha]]; 
[toolbar setItems:buttons animated:NO]; 
[buttons release]; 
//將toolbar利用initWithCustomView加入UIBarButtonItem,在指給navigationItem.rightBarButtonItem。
UIBarButtonItem *olaBtn = [[UIBarButtonItem alloc] initWithCustomView:toolbar]; 
self.navigationItem.rightBarButtonItem = olaBtn;
[olaBtn release]; 
[toolbar release];
如此,若是你有使用UINavigation,則會看到右邊按鈕變成三個,並分別會呼叫btn_function1_Click,btn_function2_Click與btn_whereIam_Click三個方法。
如果配合UIPopoverController就可以產生很不錯的效果。
 
 
1 則留言:
到此一遊
張貼留言