2012-11-20 21 views
7

私はサブビューとしてUIViewを持つscrollViewを持っています。これはUIViewサブビューa UIButtonです。 scrollViewのみがコンセントに接続され、残りはすべてコード内にあります。ボタンはタッチには反応せず、タッチしたときには青に変わらない。それを機能させるために私は何ができますか?UIButtonはuiscrollViewで機能しません

これはコードです:

- (void)viewDidLoad 
{ 
     [super viewDidLoad]; 

     //...... 

     self.buttonHome = [UIButton buttonWithType:UIButtonTypeCustom]; 
     [self.buttonHome addTarget:self action:@selector(pressedHome:) 
            forControlEvents:UIControlEventTouchUpInside]; 
     //.... 
     self.containerView =[[UIView alloc]initWithFrame:self.scrollView.frame]; 
     self.containerView.userInteractionEnabled=YES; 

     [self.scrollView addSubview:self.containerView]; 
     [self.containerView addSubview:self.buttonHome]; 
    } 

    -(void) pressedHome:(id)sender{ 
     //.... 
    } 
+0

私は上記の作業をシミュレートしますが、それは私のために正しく働いています –

+0

私のためには動作しません。 UIViewが完璧に機能しなければ、このUIViewはズームに必要です –

答えて

1

私はそれを問題以来

- (BOOL)touchesShouldCancelInContentView:(UIView *)view 
    { 
     return ![view isKindOfClass:[UIButton class]]; 
    } 

を解決ボタンを付けることですUIButton

0

は、あなたのscrollviewがタッチを嚥下されていないことを確認してください: チェックこの他のSO question

4

ビューのコンテンツサイズを設定する必要があります。これはscrollViewのコンテンツサイズ以上でなければなりません。

ビューのデフォルトサイズは、320 * 480(3.5 "網膜)と320 * 568(4"網膜)です。したがって、ビューの高さを増やすと、次のようになります。

self.view.frame = CGRectMake(0、0、320、700);

次に、これをscrollViewのサブビューとして追加します。

があなたを解決に導きます。

-1

コンテナビューの高さをscrollViewの高さと同じにします。

関連する問題