-1

在此处输入图像描述

我的 xib 文件中有一个条形按钮项。

。H:

    @property (nonatomic, retain) IBOutlet UIBarButtonItem *toolbarButton;

米:

    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];

我用按钮连接到文件所有者,但它不起作用,请帮助我。

非常感谢!

4

2 回答 2

1

什么是行不通的?

aboutToolbarButton.frame = CGRectMake(0.0, 100.0 , 60.0, 30.0);

y=100?工具栏只有 44 像素高...

于 2012-06-13T14:27:36.503 回答
0

这是正在发生的事情:

  1. 使用界面生成器,您将 UIBarButtonItem 链接到控制器,告诉控制器该特定 UIBarButtonItem 是 self.toolbarButton。

  2. 然后在您的代码中,您告诉您的控制器 self.toolbarButton 现在是您通过代码创建的另一个按钮(但您尚未添加到您的视图中)使用

[[UIBarButtonItem alloc] initWithCustomView:aboutToolbarButton];

现在 self.toolbarButton 不再是界面构建器中的按钮。

因此,您在视图中看到的按钮在您看来“不起作用”,因为您没有为该按钮分配任何选择器。

我建议您使用界面构建器将 IBAction 链接到按钮。

说了这么多,看来你还是不明白interface builder是怎么工作的。我建议您阅读更多教程甚至更好,从 Apress 获得这本书:http: //www.apress.com/9781430236054

于 2012-06-13T14:37:13.290 回答