我正在使用带有UIbarButton项目的工具栏,我已经为此提供了标签,在一个场景中我需要获取工具栏的所有子视图并禁用一个按钮
for (id toolBarSubView in [self.topToolBar subviews]) {
NSLog(@"toolBarSubView details %@",toolBarSubView);
if ([toolBarSubView isKindOfClass:[UIBarButtonItem class]] && [toolBarSubView tag] == 103) {
UIButton* backButton = (UIButton*)toolBarSubView;
backButton.enabled = YES;
}
else if([toolBarSubView isKindOfClass:[UIBarButtonItem class]] && [toolBarSubView tag] == 102)
{
UIButton* navigationTitle = (UIButton*)toolBarSubView;
navigationTitle.enabled = NO;
}
else if([toolBarSubView isKindOfClass:[UIBarButtonItem class]] && [toolBarSubView tag] == 104)
{
UIButton* infoButton = (UIButton*)toolBarSubView;
infoButton.enabled = NO;
}
我正在使用上面的代码,我试图找到像这样的类名[toolBarSubView isKindOfClass:[UIBarButtonItem class]
但条件是失败没有条件是成功,我必须在控制台中的哪一类是这样的事情 2013-09-13 12:15:35.943收据[1544:60b] toolBarSubView详细信息> 2013-09-13 12:15:35.945收据[1544:60b] toolBarSubView详细信息> 2013-09-13 12:15:35.947收据[1544:60b] toolBarSubView详细信息>
答案 0 :(得分:0)
如果在UIToolBar中将UIButton放在UIToolBar而不是UIBarButtonItem中,默认情况下UIButton属于UIBarButtonItem。然后你可以像这样检查,
if([toolBarSubView isKindOfClass:[UIButton class]] && [toolBarSubView tag] == 10)
{}
如果要检查UIToolbar中的特定UIBar按钮项,请执行此操作
NSArray *barButtons = [self.topToolBar items];
for(UIBarButtonItem *myBarButton in barButtons)
{
NSLog(@"%d",myBarButton.tag);
if(myBarButton.tag == 103)
{}
}