如何禁用UIBarButtonItem?
我有一个UIBarButtonItem只是不想被禁用。 短版:当我打电话
[myBarButtonItem setEnabled:NO];
什么都没发生。
myBarButtonItem
是myBarButtonItem
中的IBOutlet。 在Interface Builder中, myViewController
作为一个对象添加到MainWindow
中。 myBarButtonItem
出口已连接到BarButtonItem,并具有相应的@syntesize
和property
行设置。
@property (nonatomic, retain) IBOutlet UIBarButtonItem *myBarButtonItem;
在myViewController.m中,
@synthesize myBarButtonItem;
任何人都有一个想法,为什么上面的setEnabled
方法没有影响? 谢谢!
更新:修正了它! 不知道为什么,但显然没有设定的出路。 我用我的应用程序委托作为UIBarButtonItem的父对象,所有的工作。
你可以像这样禁用UIViewController中的左侧导航button,而不使用任何IBOutlet:
self.navigationItem.leftBarButtonItem.enabled = NO;
要禁用正确的导航button:
self.navigationItem.rightBarButtonItem.enabled = NO;
如果您的工具栏有一个IBOutlet(并且已经检查确认它是非零),请尝试:
[ [ [ myToolBar items ] objectAtIndex: myBarButtonItemIndex ] setEnabled:(NO) ];
在我的情况下(斯威夫特)我有2个barButtonItems添加为一个数组 – 所以要禁用它们这是做的伎俩
navigationItem.rightBarButtonItems?.first?.enabled = false navigationItem.rightBarButtonItems?.last?.enabled = false