如何以编程方式调整Storyboard中UIBarButtonItem的可见性

时间:2012-08-17 01:44:25

标签: iphone ios ios4 storyboard

我有一个UIBarButtonItem(在Storyboard中定义),我已经分配到我自己的自定义SwitchConsumerBarButton类。

我想要做的是根据某些标准规定它在Page Init上的可见性。我想做这个程序化的。我已经尝试实现 - (id)init但它没有被调用,我该如何控制这个对象的初始化?我已经看过可以为这种类型调用的不同初始化方法,但我不知道Storyboard会调用哪一个?

@implementation SwitchBarButton

-(id) init
{
    if(self = [super init]) {
        NSLog(@"gwojbngowj");
    }
    return self;
}

@end

1 个答案:

答案 0 :(得分:2)

我不确定你是想调整alpha,还是直接隐藏按钮,所以这两者都是。

if (myCondition == YES) {
    myButton.alpha = 0.5;
    //Or if you mean hide all together...
    [myButton setHidden:YES];
}

如果您希望根据变量创建按钮,可以这样做:

if (myCondition == YES) {
    UIBarButtonItem *myBarItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(mySelector)];
    [self.navigationItem setRightBarButtonItem:myBarItem];
}