2011-07-18 68 views
5

我的應用程序的頂部和底部有一個工具欄,我需要創建按鈕才能放入工具欄。設計這個應用程序的人會喜歡放置在工具欄按鈕之間的空間。除了手動編碼按鈕的位置變化之外,是否有更好的方法通過Interface Builder實現?在工具欄中放置一個酒吧按鈕項

回答

23

您可以在需要空間的地方添加一個UIBarButtonSystemItemFlexibaleSpace類型的酒吧按鈕。

UIBarButtonItem *barButton1 = ... 
UIBarButtonItem *barButton2 = ... 

UIBarButtonItem *flexibleSpaceBarButton = [[UIBarButtonItem alloc] 
          initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
               target:nil 
               action:nil]; 

toolbar.items = [NSArray arrayWithObjects:barButton1, 
              flexibleSpaceBarButton, 
              barButton2, nil]; 
+0

您現在可以在xib/storyboard文件中執行此操作。拖放一個UIBarButtonItem,然後將其標識符屬性設置爲Fixed或Flexible Space。 –

+0

@HashimAkhtar你可以在IB中設置標識符屬性?在Xcode 8中,我只看到「系統項目」,沒有「標識符」 –

2

由於EmptyStack寫道,您可以使用UIBarButtonItemFlexibleSpace在按鈕之間創建空格。您可以使用上面編寫的代碼,也可以在Interface Builder中執行。在IB中,您必須放置工具欄,然後才能找到工具欄項目,如果我記得在項目列表的末尾正確地記住。因此,您可以將靈活的空間項目添加到工具欄中,隨其寬度變化,然後在工具欄中添加一個「真實」欄按鈕。您可以像普通的UIButtons一樣聲明銷售點並將操作分配給barbuttons。