ios - 通过代码Objective-c隐藏按钮时出错

时间:2017-07-07 15:18:35

标签: ios objective-c uibutton

我正试图通过代码隐藏按钮,但每次我试图隐藏它时程序都会崩溃。

我得到的错误:

'NSInvalidArgumentException', reason: '-[UIBarButtonItem setHidden:]: unrecognized selector sent to instance 0x14ef8f30'

.h文件代码:

@property (strong) UIButton *takeAll;

.m代码:

    @synthesize takeAll;

// function

   [self.takeAll setHidden:YES];

4 个答案:

答案 0 :(得分:1)

UIBarButtonItem没有setHidden:选择器。您可能希望将按钮的色调颜色设置为清晰的颜色并禁用它,这实际上将提供相同的功能。

答案 1 :(得分:1)

错误显然是'您正试图设置隐藏价值UIBarButtonItem

您创建了UIButton个对象并将其分配为UIBarButtonItem。这是错的。它假设是

self.takeAll = [UIButton buttonWithType:UIButtonTypeCustom]

如果您需要UIBarButtonItem,那么

@property (strong) UIBarButtonItem *takeAll;

如果你想隐藏UIBarButtonItem

 self.takeAll.enabled = false
 self.takeAll.tintColor = UIColor.clearColor

启用小节按钮项

 self.takeAll.enabled = true
 self.takeAll.tintColor = UIColor.blueColor

答案 2 :(得分:0)

如果您在UIBarButtonItem中有UIView的子类,则可以使用此代码隐藏它。

[barButtonItem.customView setHidden:YES];

答案 3 :(得分:0)

显示的崩溃位于UIBarButtonItem中。 在接口文件中,声明用于UIButton。可能是您正在尝试将UIButton链接到UIBarButtonItem。