0

如何在 UIBarButtonItem 上设置插座。我以编程方式制作了这个按钮,现在我无法连接插座。有连接插座的代码吗?

制作按钮:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 50, 28);
[button setImage:[UIImage imageNamed:@"donebutton.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(releaseKeyboard) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *barButton1 = [[UIBarButtonItem alloc] init];
[barButton1 setCustomView:button];
self.navigationItem.rightBarButtonItem = barButton1;

选择器:

-(void)releaseKeyboard {

[text resignFirstResponder];

}

问题出在哪里:

-(void)keyboardWillHide:(NSNotification *)aNotification {

    NSLog(@"Keyboard hide");
    barButton.enabled = NO;
}

barButton 未连接到插座,因为我无法在 IB 中选择任何内容。

4

2 回答 2

1

“连接插座”是一个仅与 Interface Builder 相关的概念。当您通过代码创建视图时,您不会“连接出口”,而是设置您所做的目标-动作机制广告。

也许尝试用 实例化 BarButtonItem [[UIBarButtonItem alloc] initWithCustomView:button]

于 2012-12-22T00:48:23.810 回答
1

是的,所以而不是

barButton.enabled = NO;

采用

self.navigationItem.rightBarButtonItem.enabled = NO;

那是因为你不再拥有对的引用barButton1(你在另一个函数——另一个上下文中),更不用说barButton.

于 2012-12-22T01:02:08.393 回答