2014-05-19 89 views
3

我想知道self.toolbarItems中枚舉的UIBarButtonItem是一個按鈕,它是靈活的空間項目。如何測試toolBar中的項目是否爲FlexibleSpace項目?

+0

沒有公共的API來訪問條形按鈕項目的系統風格。 –

+0

:)爲什麼我不感到驚訝? –

+0

如果您使用私有API,請在'UIBarButtonItem.h'處查看'_barButtonItemFlags'。否則,您總是可以限制僅從代碼創建項目,「UIBarButtonItem」子類,並將「UIBarButtonSystemItem」的值保存在公共變量中。 –

回答

2

由於A-直播證實了我的發現,一個是不能查詢的UIBarButtonItem來檢查它是否是FlexibleSpace(或FixedSpace)我用標籤來標記這些項目爲靈活和固定空間(2個不同的整數),並把這些數字在常量然後在我使用的代碼:

for(int i=0; i<self.toolbarItems.count; i++) 
{ 
    if(item.tag != TOOLBAR_FIXED_SPACE_TAG && 
     item.tag != TOOLBAR_FLEXIBLE_SPACE_TAG) 
    { 
     //count real button:) 
    } 
} 
+0

好的解決方法...! –

0

上面的答案是我無法實際工作,所以我用這個。希望這可以幫助某人:

for(int i=0; i<[buttonArray count]; i++){ 
     UIBarButtonItem *buttonItem = [[self items] objectAtIndex:i]; 
     if(buttonItem.title){ 
      NSLog(@"Double Boom %@", buttonItem); 
     } 
} 

**靈活/固定的空間不包含標題...這是我可以立即看到的唯一真正的區別。所以,我只是在檢查一個標題。

相關問題