2012-07-10 10 views

答えて

9

navbarをサブクラス化するよりも簡単な方法ですが、同じ考え方です。

for(UIView *temp in self.navigationController.navigationBar.subviews) 
{ 
    [temp setExclusiveTouch:YES]; 
} 

バーボタンの項目を追加した直後に挿入します。

6

この問題は、UINavigationBarをサブクラス化し、layoutSubviewsメソッドをオーバーライドすることで管理しました。このようなもの:

- (void)layoutSubviews { 
    [super layoutSubviews]; 
    for (UIView *view in self.subviews) { 
     view.exclusiveTouch = YES; 
    } 
} 
-2

これはUIBarButtonItemのために動作しませんが、それは働いていなかったのiOS 7ではinitWithTitle

+0

何がうまくいかないのですか?これは他人の投稿に対するコメントではないはずですか? –

0

を使用して作成しました。私はこの方法を使って修正しました。

for(UIView *temp in self.navigationController.navigationBar.subviews){ 
    [temp setExclusiveTouch:YES]; 
    for(UIView *temp2 in temp.subviews){ 
     [temp2 setExclusiveTouch:YES]; 
    } 
} 
3

過去を掘り下げてお詫び申し上げます。私はこれに遭遇し、サブビューを通してループするよりも良い方法があると思った。

私は次のようにUIBarButtonItemsが排他的になることがわかった:

[self.navigationController.navigationBar setExclusiveTouch:YES]; 

iOS7は排他的なタッチが継承してきたことがあります。

+1

それは私のためには機能しません。私はiOS7で走っています。 – Qiusheng

+0

これはiOS 8でも動作しません。 –

関連する問題