自定义 UIToolbar 按钮不起作用
Posted
技术标签:
【中文标题】自定义 UIToolbar 按钮不起作用【英文标题】:Custom UIToolbar button doesn't work 【发布时间】:2012-06-13 13:25:46 【问题描述】:我的 xib 文件中有一个条形按钮项。
.h:
@property (nonatomic, retain) IBOutlet UIBarButtonItem *toolbarButton;
.m:
UIButton *aboutToolbarButton = [UIButton buttonWithType:UIButtonTypeCustom];
[aboutToolbarButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[aboutToolbarButton setTitle:@"about" forState:UIControlStateNormal];
aboutToolbarButton.titleLabel.font = [UIFont fontWithName:@"Helvetica" size:12.0f];
[aboutToolbarButton.layer setCornerRadius:4.0f];
[aboutToolbarButton.layer setMasksToBounds:YES];
[aboutToolbarButton.layer setBorderWidth:1.0f];
[aboutToolbarButton.layer setBorderColor: [[UIColor grayColor] CGColor]];
aboutToolbarButton.frame = CGRectMake(0.0, 100.0, 60.0, 30.0);
[aboutToolbarButton addTarget:self action:@selector(getToUserSettingsViewController) forControlEvents:UIControlEventTouchUpInside];
self.toolbarButton = [[UIBarButtonItem alloc] initWithCustomView:aboutToolbarButton];
我用按钮连接到文件所有者,但它不起作用,请帮助我。
非常感谢!
【问题讨论】:
【参考方案1】:究竟什么不起作用?
aboutToolbarButton.frame = CGRectMake(0.0, 100.0, 60.0, 30.0);
y=100?工具栏只有 44 像素高...
【讨论】:
谢谢...我真是个白痴,但我把它改成(0.0, 0.0, 60.0, 30.0) 还是不行。【参考方案2】:这是正在发生的事情:
使用界面生成器,您将 UIBarButtonItem 链接到控制器,告诉控制器该特定 UIBarButtonItem 是 self.toolbarButton。
然后在您的代码中,您告诉控制器 self.toolbarButton 现在是您通过代码创建的另一个按钮(但您尚未添加到您的视图中)使用
[[UIBarButtonItem alloc] initWithCustomView:aboutToolbarButton];
现在 self.toolbarButton 不再是界面构建器中的按钮了。
因此,您认为您在视图中看到的按钮“不起作用”,因为您没有为该按钮分配任何选择器。
我建议您使用界面生成器将 IBAction 链接到按钮。
说了这么多,看来你还是不明白interface builder的工作原理。我建议您阅读更多教程甚至更好,从 Apress 获得这本书: http://www.apress.com/9781430236054
【讨论】:
以上是关于自定义 UIToolbar 按钮不起作用的主要内容,如果未能解决你的问题,请参考以下文章
InputAccessoryView的子视图工具栏按钮不起作用