2012-06-13 161 views
-1

enter image description here自定義UIToolbar按鈕不起作用

在我的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. 使用Interface Builder,你鏈接的UIBarButtonItem控制器,告訴控制器特定的UIBarButtonItem是self.toolbarButton 。

    在你的代碼
  2. 然後,你告訴你的控制器,該self.toolbarButton現在是你的代碼中創建另一個按鈕使用

(但你沒有添加到您的視圖還)
[[UIBarButtonItem alloc] initWithCustomView:aboutToolbarButton]; 

現在self.toolbarButton不再是界面生成器中的按鈕。

因此,您在視圖中看到的按鈕在您認爲「無法使用」,因爲您尚未將任何選擇器分配給該按鈕。

我會建議你使用接口生成器將IBAction鏈接到按鈕。

說了這麼多,似乎你不明白界面構建器是如何工作的。我建議你閱讀更多的教程,甚至更好,得到這本書由Apress: http://www.apress.com/9781430236054

1

什麼不工作?

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

y = 100?工具欄都只有44像素的高...

+0

謝謝......我是這樣一個白癡,但我改變它(0.0,0.0,60.0,30.0),它不'工作。 – jxdwinter