我有一个UIBarButtonItem,不想被禁用.简短版:我打电话的时候
[myBarButtonItem setEnabled:NO];
Run Code Online (Sandbox Code Playgroud)
什么都没发生.
myBarButtonItem是一个IBOutlet in myVIewController.myViewController已添加为MainWindowInterface Builder中的对象.该myBarButtonItem出口被连接到所述BarButtonItem,并具有相应的@syntesize和property行设置.
@property (nonatomic, retain) IBOutlet UIBarButtonItem *myBarButtonItem;
Run Code Online (Sandbox Code Playgroud)
在myViewController.m中,
@synthesize myBarButtonItem;
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么上述setEnabled方法没有影响?谢谢!
更新:修正了!不知道为什么,但显然出口没有设置.我使用我的App Delegate作为UIBarButtonItem的父对象,并且一切顺利.
Nic*_*rdu 77
您可以在UIViewController中禁用左侧导航按钮,而不使用任何IBOutlet:
self.navigationItem.leftBarButtonItem.enabled = NO;
Run Code Online (Sandbox Code Playgroud)
要禁用右侧导航按钮:
self.navigationItem.rightBarButtonItem.enabled = NO;
Run Code Online (Sandbox Code Playgroud)
Swift3
self.navigationItem.rightBarButtonItem?.isEnabled = false
Run Code Online (Sandbox Code Playgroud)
hot*_*aw2 12
如果你的工具栏有一个IBOutlet(并且你已经检查过以确保它是非零的),请尝试:
[ [ [ myToolBar items ] objectAtIndex: myBarButtonItemIndex ] setEnabled:(NO) ];
Run Code Online (Sandbox Code Playgroud)