2011-09-09 47 views
2

我有一個視圖導航欄無法識別觸摸在導航欄的圖像視圖上。

其實我已經採取了圖片瀏覽,並把它放在一個導航欄上....

,因爲我想按鈕不可在左邊或右邊,但在地方上的導航吧

通過這種方法,我可以識別觸摸視圖,但無法識別導航欄上的觸摸?

我可以改變什麼... 在這種方法... 爲什麼?

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event { 

    CGPoint p; 
    p.x=0; 
    p.y=0; 

    p = [[touches anyObject] locationInView:self.nvbrCalculateBar]; 

    NSLog(@" %f",p.x); 



    if(p.x==0 && q.x==0) 
    { 

    } 
    else 
    { 

//裝載視圖

} 

} 

回答

2

您可以添加UITapGestureRecognizer到您的UIImageView和應該做的伎倆

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapEvent:)]; 
[yourImageView addGestureRecognizer:tap]; 
[tap release]; 

- (void)tapEvent:(UITapGestureRecognizer *)gesture { 
    //Do whatever you need when user taps the imageView 
} 

而且設置的ImageView爲YES的userInteractionEnabled到能夠接收手勢識別事件。

希望這會有所幫助。

+0

非常多它的工作原理正如你有返回userIntercation啓用我已經試過..很多之前...謝謝.... –

+1

非常感謝這個答案。這是一個恥辱,你沒有更多的積分,因爲這是一天後查看各種不完整或混亂的資源,最後一個合適的迴應。 – Danny

0

的UINavigationBar的本身沒有設置返回觸摸,因爲我相信它不是實際的UIView(對於其的touchesBegan)方法應用的一部分。相反,您可以將各種項目推送到導航欄(例如按鈕),您可以爲其定義交互。

請參閱參考here

0

用戶交互必須UINavigation酒吧財產被啓用,然後應用觸摸方法..

0

你可以嘗試:

[imageView setUserInteractionEnabled:NO]; 

這應該防止您的ImageView取消觸摸。