我的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];
我将按钮连接到文件的所有者,但它不起作用,请帮助我。
非常感谢!
答案 0 :(得分:1)
究竟什么不起作用?
aboutToolbarButton.frame = CGRectMake(0.0, 100.0 ,60.0,30.0);
Y = 100?工具栏只有44像素高...
答案 1 :(得分:0)
这就是发生的事情:
使用界面构建器,将UIBarButtonItem链接到控制器,告诉控制器该特定UIBarButtonItem是self.toolbarButton。
然后在你的代码中,你告诉你的控制器self.toolbarButton现在是你用代码创建的另一个按钮(但你还没有添加到你的视图中)
[[UIBarButtonItem alloc] initWithCustomView:aboutToolbarButton];
现在,self.toolbarButton不再是界面构建器中的按钮。
因此,您在视图中看到的按钮在您看来“无效”,因为您尚未为该按钮指定任何选择器。
我建议您使用界面构建器将IBAction链接到按钮。
说完这一切后,您似乎无法理解界面构建器的工作原理。我建议你阅读更多教程,甚至更好,得到Apress的这本书: http://www.apress.com/9781430236054