2017-05-13 10 views
0

UIButtonがタッチ/タップできないUI ScrollView内のXcode 8およびSwift 3 UIButtonに問題があります。このようなストーリーボードの構造。Swift 3 UIScrollの下部にあるUIButtonに触れない

View 
-Scroll View 
--Content View 
---Content Label (dynamic long content get from API) 
---Agree Button 

ダイナミックラベルをスクロールするためのコード行です。

override func viewDidLayoutSubviews() { 
    let maxLabelWidth: CGFloat = self.contentView.frame.size.width 
    let neededSize = self.contentLabel.sizeThatFits(CGSize(width: maxLabelWidth, height: CGFloat.greatestFiniteMagnitude)) 
    self.contentView.frame.size.height = neededSize.height+self.agreeButton.frame.size.height+300 
    self.scrollView.contentSize = CGSize(width: self.view.frame.size.width, height: self.contentView.frame.size.height) 
} 

ストーリーボードの設定はすべてデフォルトです。この問題を解決する別の設定がありますか?

+1

設定の完全なコードを表示してください – dymv

答えて

2

UIButtonがスーパービューの範囲内にない可能性があります。これが起こるのを見ると、それは通常問題です。 UIButtonのスーパービューの背景色を赤または何かに設定し、ボタンが赤い領域にあるかどうかを確認してください。

+0

私はそれを背景にすると、コンテンツビューはスクロールビューの一番下に届きます。しかし、なぜそれがそういうのか分かりません。私はコンテンツビューの高さがScroll Viewの高さとLabel +ボタンの高さと同じであることを確認するために印刷しようとしますが、高さは同じです。コンテンツビューの高さを更新するにはどうすればよいですか? – Djamware

+0

最後に、私はこの "self.contentView.translatesAutoresizingMaskIntoConstraints = true"をscrollViewのサイズ変更の後に置くとボタンが機能します。しかし、それはスクロールビューの幅を越えてしまい、それはコンテンツです。この行を追加したとしても "contentViewWidthConstraints.constant = view.frame.width" – Djamware

関連する問題