如何以编程方式禁用/启用UIBarButtonItem

时间:2014-02-07 20:44:00

标签: ios objective-c storyboard xcode5 uibarbuttonitem

我目前有一个名为continueButton的按钮,该按钮已分配给Storyboard文件中的UIBarButtonItem按钮。我已经宣布了按钮:

- (IBAction)continueButton;

当视图加载时,我希望按钮自行禁用,这样除非调用重新启用按钮用户输入的命令,否则不能有用户输入。我该怎么做呢?我正在尝试使用函数[continueButton setEnabled:YES];以编程方式禁用/启用按钮,但它无法正常工作。

2 个答案:

答案 0 :(得分:6)

您尚未将UIBarButtonItem公开给您的代码。要使控件的属性可访问,它需要连接到IBOutlet(XIB和代码之间的桥接),如hw731所说,或者首先以编程方式创建。操作更像是将方法绑定到控件引发的事件。

Example of outlet over action

如果您在建立连接时无法看到OutletOutlet集合的选项,则可能是.m文件而不是.h文件。< / p>

答案 1 :(得分:0)

在阅读了一些评论之后,我意识到我不应该将UIBarButtonItem设置为IBAction按钮,而是通过IBOutlet。在这样做之后,重新连接故事板中的按钮,我之前尝试过的命令,工作。

[continueButton setEnabled:NO];

或(用于启用按钮):

[continueButton setEnabled:YES];