2012-02-01 36 views
1

新增的UIButton到App的UIButton崩潰應用

UIButton *playButton = [UIButton buttonWithType:UIButtonTypeCustom]; 

[playButton addTarget:self action:@selector(play:) forControlEvents:UIControlEventTouchUpInside]; 

UIImage *image = [UIImage imageNamed:@"play.png"]; 

[playButton setImage:image forState:UIControlStateNormal]; 

當我運行它崩潰和消息是UIButtonview無法識別選擇的應用程序

沒有異常斷點

實測值這是在崩潰

[toolbar setItems:toolbarItems]; 

我想我沒有正確添加UIButton到t oolbar

//Add buttons to the array 

NSArray *toolbarItems = [NSArray arrayWithObjects: settingsButton, flexItem, rewind, flexItem, playButton, flexItem, pause, flexItem, modalBarButtonItem, nil]; 

[toolbar setItems:toolbarItems]; 

Anyideas來解決這個問題。

感謝您的幫助。

回答

1

問題是,您不能直接將UIButton粘貼到UIToolBar中。您必須將UIButton封裝在UIBarButtonItem的視圖中,然後將您的自定義UIBarButtonItem保存在UIToolBar中。如果您不需要自定義外觀或功能,您可能需要考慮使用標準UIBarButtonItem,因爲它看起來很不錯,而且沒有太多工作。

查看Adding a UILabel to a UIToolbar的例子。

+0

UIBarButtonItem * play = [[UIBarButtonItem alloc] initWithCustomView:playButton]; self.navigationItem.leftBarButtonItem = play;我現在做了這些更改應用程序不崩潰,但沒有看到uibutton – user1120133 2012-02-01 18:26:27

0

UIToolbar包含UIBarButtonItem的實例,而不是UIButton。如果你只是需要一個自定義圖像,請嘗試:

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:self action:@selector(play:)]; 

// Build your array and setItems: using "item" among other objects 

[item release]; 
+0

需要uibutton因爲需要添加多個操作 – user1120133 2012-02-01 18:28:51

+0

在這種情況下,最簡單的事情可能是簡單地有一個包裝器方法,只調用所有需要的選擇器。 – 2012-02-01 19:11:06

+0

問題已修復。感謝幫助。雖然。 – user1120133 2012-02-01 19:11:54