簡體   English   中英

如何測試工具欄中的項目是否為 FlexibleSpace 項目?

[英]How to test if item in toolBar is FlexibleSpace item?

我想知道UIBarButtonItem枚舉的self.toolbarItems是按鈕,哪個是靈活的空間項。

由於A-Live證實了我的發現,即無法查詢 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:)
    }
}

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

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

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

Dirty Swift 5.0 解決方案:

let fixedSpaces = toolbarItems?.filter({ $0.description.contains("systemItem=FixedSpace") })

它可能會隨着時間的推移而中斷,但足以用於調試目的。

每次使用后都要使用洗手液。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM