2012-11-16 4 views

答えて

12

userInteractionEnabledがビューの場合はYESで、すべてのスーパービューがUIWindowオブジェクトの場合を除いて、ビューは表示されません。

UIViewのサブクラスにボタンを含めることができ、hitTest:withEvent:を上書きしてボタンの外側をタッチするようにすることができます。例:

@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

スーパービューにボタンがある場合(これはスーパービューの上にあるメニューのように)、サブビューのボタンを押すと表示されます。彼だけを検出すると、それはまだスーパービューのボタンを起動します。 – Curnelious

+0

偉大な、チップのおかげで私は多くの時間を節約しました – KeranMarinov

+0

ニース、それは働いた – atulkhatri

関連する問題