我想知道UIBarButtonItem
中枚举的self.toolbarItems
是一个按钮,哪个是灵活的空间项目。
答案 0 :(得分:2)
由于 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:)
}
}
答案 1 :(得分:0)
上面的答案我无法实际工作,所以我使用了这个。希望这可以帮助某人:
for(int i=0; i<[buttonArray count]; i++){
UIBarButtonItem *buttonItem = [[self items] objectAtIndex:i];
if(buttonItem.title){
NSLog(@"Double Boom %@", buttonItem);
}
}
**灵活/固定空间不包含标题......这是我能立即看到的唯一真正的区别。所以,我只是在检查标题。
答案 2 :(得分:0)
Dirty Swift 5.0 解决方案:
let fixedSpaces = toolbarItems?.filter({ $0.description.contains("systemItem=FixedSpace") })
它可能会随着时间的推移而中断,但足以用于调试目的。
每次使用后都要使用洗手液。