2017-01-20 30 views
0

私はScrollViewとその内部にコンテナビューを持っています。 UIButtonsはコンテナビューの内側にあります。 プログラムを実行すると、ScrollViewの最後にあるUIButtonsが応答しません。 UITextFieldは応答します。 しかし、フレームで調整した後、私はUIScrollViewとコンテナビューのoriginとhightXwidthの両方が一致していることを確認しました。私は印刷文でそれをチェックした。 設定の一部:scrollViewのUIButtonが応答しません

scrollView.isExclusiveTouch = true 
scrollView.delaysContentTouches = false 
scrollView.isUserInteractionEnabled = true 

ScrollViewのコンテンツサイズ:

let hightForScrollMenu: CGFloat = 120 
scrollView.contentSize = CGSize(width: scrollView.frame.size.width, height: scrollView.frame.size.height+hightForScrollMenu) 

出力ビュー: enter image description here

チェック:

viewInsideScrollView.frame.size.height = scrollView.frame.size.height 
print("Zhenya: ScrollView's frame height is:\(scrollView.frame.size.height) and its origin is \(scrollView.frame.origin)") 
print("Zhenya: ViewInsideScrollView's frame heigt is: \(viewInsideScrollView.frame.size.height) and its origin is \(scrollView.frame.origin)") 

enter image description here

ビューコントローラの属性:

enter image description here

メインビューの属性と制約:

enter image description here

enter image description here

ScrollViewの属性と制約:

enter image description here

enter image description here

コンテナビューの属性と制約:

enter image description here

enter image description here

+0

[FistLink](http://stackoverflow.com/questions/3132147/uibutton-inside-uiscrollview-doesnt-fire-on-tap) [SecondLink](http://stackoverflow.com/questions/16649639)/uibutton-does-work-when-in-uiscrollview)、 [ThirdLink](http://stackoverflow.com/questions/27820304/uibutton-is-not-working-clickable-in-uiscrollview) –

+0

ありがとう。この質問を投稿する前にそれらを試してみてください。 –

答えて

-1

解決策は、コンテナのビューの高さを616に設定することでした。 高さを「ScrollViewと等しい」に設定するか、プログラムでscrollViewを固定するのがなぜ機能しないのか分かりません。

1

コンテナビューが赤表示のですか?さて、明らかにボタンが外にあります。スーパービュー以外のボタンは適用できません。

+0

はい、ContainerViewは赤いビューです。ボタンが外にあるように見えます。ただし、ビュー構造では、ボタンはコンテナビューの一部です。すべての制約はコンテナビューに関連付けられています。 –

+0

私は「見た目のように」気にしません(ただし、ビューの色を付けるのに役立ちました)。私は "の一部"と "に接続"に気にしません。赤色は、外側のボタンがスーパービューであることを明確に示しています。そのため、ボタンをタップすることは不可能になります。物語の終わり。あなたの質問に答えます。あなたの質問は「ボタンが応答していません」でした。私はあなたに理由を言った。正しく。 – matt

関連する問題