2012-11-16 19 views

cevap

12

userInteractionEnabled, UIWindow nesnesinin tüm süper görünümleri ve görünümü için YES olmadığı sürece, bir görünüm dokunuşları alamaz.

Düğmeyi içermek için UIView alt sınıfını oluşturabilir ve hitTest:withEvent:'u geçersiz kılarak düğmenin dışındaki dokunuşları yok sayar hale getirebilirsiniz. Örnek:

@interface MyView : UIView 

@property (nonatomic, strong) IBOutlet UIButton *button; 

@end 


@implementation MyView 

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { 
    UIView *subview = [super hitTest:point withEvent:event]; 
    return subview == self.button ? subview : nil; 
} 

@end 
+0

(bazı Superview yukarıda açıldı herhangi menüsü gibi) sağ onun subview düğme altında Superview, bir düğme varsa sen subview tane vurursan daha bu yardımcı olmaz ve Sadece onu algılar, hala süper görüntüdeki düğmeyi tetikler. – Curnelious

+0

Harika, bahşiş için teşekkürler bana çok zaman kazandı – KeranMarinov

+0

Güzel bir, o – atulkhatri

İlgili konular