你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS7技巧 >> iOS UIToolbar和UINavigationBar的UIBarButtonItem的距離調整

iOS UIToolbar和UINavigationBar的UIBarButtonItem的距離調整

編輯:IOS7技巧
本文章介紹iOS UIToolbar和UINavigationBar的UIBarButtonItem的距離調整實例,大家有興趣可一起進入看看。

ios開發過程中,往UIToolbar和UINavigationBar中添加的多個UIBarButton距離通常是固定不可以調整的,
比如在UINavigationBar的右側添加兩個以上UIBarButton時,兩個UIBarButton加上中間的空白占據了和大一部分的空間,
因而在開發iPhone應用程序時,開發者通常使用UISegmentedControl來替代使用兩個button。

其實如果利用一下UIToolbar的一些特性就可以實現對的UIBarButton的間距調整,方法如下:
1.定義一個UIToolbar來存放者兩個button
2.在兩個Button之間添加一個UIBarButtonSystemItemFlexibleSpace類型的button
3.調整UIToolbar的寬度,這時就可以直接調整兩個button之間的空白寬度了
4.將UIToolbar添加到Navigationbar中去即可


其中的第4步,采用早期ios4時候添加多個UIBarButton到UIToolbar和UINavigationBar的方法即可

實現代碼如下

 代碼如下 復制代碼

//button1
UIBarButtonItem *button1 = [[UIBarButtonItem alloc] initWithTitle:@"Button1"
                                                                  style:UIBarButtonItemStyleBordered
                                                                  target:nil
                                                                  action:nil];
                                                                  //button1
UIBarButtonItem *button2 = [[UIBarButtonItem alloc] initWithTitle:@"Button2"
                                                                  style:UIBarButtonItemStyleBordered
                                                                  target:nil
                                                                  action:nil];
UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                  target:nil
                                                                  action:nil];
//初始化toolbar                                                                 
UIToolbar *rightToolbar = [[UIToolbar alloc]init];
rightToolbar.items = [NSArray arrayWithObjects:button1,space,button2,nil];
 
//使button的tint色與導航條一致
rightToolbar.tintColor = self.navigationController.navigationBar.tintColor;
//調整寬度使button間距縮小
rightToolbar.frame = CGRectMake(220, 0, 101, 44);
 
//移除背景,用於添加到UIToolbar或UINavigationBar中
rightToolbar.backgroundColor = [UIColor clearColor];
for (UIView *view in [rightToolbar subviews]) {
 if ([view isKindOfClass:[UIImageView class]]) {
  [view removeFromSuperview];
 }
}
//添加到navigationbar中
[self.navigationController.visibleViewController

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved