UIScrollViewの上にviewを追加して、そのviewにオートレイアウトで制約をつけるとそのサブビュー自体表示されず、かつScrollViewもスクロールしない状態になってしまいます。。。以下の様にオートレイアウトにはTinyConstraintsを使っています。
Swift
1import UIKit 2import TinyConstraints 3 4final class Hoge: UIViewController { 5 6 let textEditer = UITextView() 7 let scrview = UIScrollView() 8override func viewDidLoad() { 9 super.viewDidLoad() 10 11 self.view.addSubview(scrview) 12 13 self.scrview.addSubview(textEditer) 14 15 } 16override func viewDidLayoutSubviews(){ 17 super.viewDidLayoutSubviews() 18 19 scrview.scrollIndicatorInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10) 20 scrview.contentSize = CGSize(width: 300, height: 1400) 21 scrview.edgesToSuperview() 22 23 24// textEditer.frame = CGRect(x: 0, y: self.scrview.frame.height - 500, width: self.view.frame.width, height: 500) <ーこっちは動く 25//⬇︎これだとスクロールしなくなる。 26// textEditer.leftToSuperview() 27// textEditer.rightToSuperview() 28// textEditer.topToSuperview(offset:300) 29// textEditer.height(300) 30 31 } 32}
上のコードのコメントアウトを外すとスクロールしなくなります。これは何が原因でしょうか?因みにtextEditer.frame で指定すると普通にスクロールできてtextEditerも表示されます。
追記です。
scrview.edgesToSuperview()でスクロールビューの制約をつけて、UITextViewの方はframe=で設定した場合はスクロールはするけどUITextViewが表示されません。両方制約をつけないでframe=で行うとスクロールもできてUITextViewも表示されます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/15 09:49
2019/03/15 10:00 編集
2019/03/15 10:14
2019/03/15 10:20
2019/03/15 10:23 編集
2019/03/15 10:39
2019/03/15 10:51
2019/03/18 02:32
2019/03/18 03:35
2019/03/18 04:00
2019/03/18 04:30
2019/03/18 04:31
2019/03/18 04:53 編集