2013-01-13 27 views
0

我遇到問題 - 出於同樣的原因我的應用程序被拒絕了3次,「選擇操作按鈕不會產生操作」。蘋果公司表示,「分享按鈕」並不適用。 在我的設備上(ipod 4 + ipod 5)和iphone模擬,共享按鈕可以工作,並打開一個操作表視圖,其中有3個選項可供選擇,並且它們都可以正常工作。UINavigationBar上的UIBarButtonItem對iPhone 5沒有響應

共享按鈕是一個UIBarButtonItem,並位於UINavigationBar上。 後退按鈕和星形按鈕效果很好,但分享按鈕仍然沒有響應,並且不會產生任何操作。

enter image description here 這是我的應用截圖。

這是我的按鈕代碼:

UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    rightButton.frame = CGRectMake(0, 0, 33, 22); 
    [rightButton setBackgroundImage:[UIImage imageNamed:@"btn_share.png"] forState:UIControlStateNormal]; 
    [rightButton setBackgroundImage:[UIImage imageNamed:@"btn_shareSelect.png"] forState:UIControlStateHighlighted]; 
    [rightButton addTarget:self action:@selector(share) forControlEvents:UIControlEventTouchUpInside]; 
    UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithCustomView:rightButton]; 
    self.navigationItem.rightBarButtonItem=rightItem; 

我能做些什麼?有沒有辦法解決這個問題?

+0

你正在測試的iOS版本是什麼? UITapGestureRecognizer與導航欄相關聯嗎? – Stavash

+0

我正在使用ios6。 –

+0

iOS 5兼容性如何?你有沒有嘗試在iOS5.0模擬器上編譯? – Stavash

回答

0

你能自己重現問題嗎?這將是一個好的開始。

我想你可能會遇到問題,因爲你要將目標添加到UIButton自定義視圖而不是實際的欄按鈕項。

所以請嘗試設置UIbarButtonItem本身的動作和目標屬性。一定要刪除rightButton addTarget行。

如果這不起作用,我會盡量不使用UIbutton自定義視圖。

順便說一句,爲什麼你不只是使用UIBarButtonItem initWithBarButtonSystemItem:我認爲「動作」風格會帶給你想要的外觀,同時減少麻煩。

+0

我不同意 - 在這種情況下應該調用由UIButton定義的動作 – Stavash

+0

我建議他使用不那麼複雜和更明顯的設置。 – occulus

+0

我同意簡單更好,但沒有很多簡單的方法來定義自定義欄按鈕項 - 在她的情況下,他們設計了特殊的按鈕圖形,並且他們想要使用它。 – Stavash