2016-10-21 11 views
0

私のアプリケーションにはサイドメニューがあり、viewControllerにはrootView> view>とmenuViewを含むスクロールビューがあります。いくつかのレイズンでは、私はmenuViewのためにプログラムで制約を課すことを余儀なくされました。 menuViewの要素は正しく表示されますが、メニュー要素のすべてのボタンのタッチはもう機能していません。 IBActionは正しく設定され、すべてのボタンはそのIBActionに接続されます。プログラムで制約をプログラム内で無効にしました

これは私のコードの一部です:

[self.menuScrollView addSubview:self.menuView]; 

self.menuView.translatesAutoresizingMaskIntoConstraints = NO; 

NSLayoutConstraint *leading = [NSLayoutConstraint 
           constraintWithItem:self.menuView 
           attribute:NSLayoutAttributeLeading 
           relatedBy:NSLayoutRelationEqual 
           toItem:self.menuScrollView 
           attribute:NSLayoutAttributeLeading 
           multiplier:1.0f 
           constant:0.f]; 

私は末尾とトップのための先導と同じ思いました。その後、私はすべての制約をmenuScrollビューに追加しました。例:

[self.menuScrollView addConstraint:leading]; 

誰でも教えてください。

編集:私はYEStranslatesAutoresizingMaskIntoConstraintsを設定すると

、ボタンがクリックされているが、スクロールが動作しません。

+0

チェックを動作しない場合。ビューはどのようにレイアウトされていますか? – Rikh

+0

私はチェックし、menuViewの前にはビューがありません。 scrollViewとの関連はありますか?言い換えれば、scrollViewは、私のviewControllerの代わりにtouchUpInsideを検出できますか? –

+0

あなたのボタンが 'subView'で、あなたが' IBAction'を作っている場合(基本的にボタンを見ることができ、その上にビューとアウトレットが設定されていない限り)、ボタンアクションが '実行されています。 'IBAction'は 'touchUpInside'に設定されているのでしょうか?うーん、 'userIntercation'がボタンに対して有効になっていることを確認するだけですか?時には愚かなことが残されることもあります。 – Rikh

答えて

0

すべてのスーパービューでユーザーインタラクションを有効にするかどうかを確認します。制約はユーザーの操作に影響しません。

また、スクロールビューのコンテンツサイズのチェックあなたのボタンの上に作成されたばかりのビューがある場合は、メニュー表示の幅よりもその少ないが、その後も、ユーザーとの対話は、デバッグビューの階層構造に

+0

あなたが言及したことをすべてチェックしたが、私はまだ同じ問題を抱えている –

+0

xcodeには、ユーザーインターフェイスインスペクタが一度そのビュー階層をチェックするオプションがあります – santhosh

関連する問題