私の調べ方が悪いのだと思いますが…UIScrollView
を実装した後に、その子要素として UITextField
や UILabel
などの UIView
を追加する方法を説明する良い記事が見つからなかったので、未来の私のためにまとめ。
Storyboard
を使う記事はすぐ見つかったのですが、コードのみで実装している記事は見つからなかったのですよね。
なお、UIScrollView
自体の実装についてはこちらの記事を参考にさせていただきました。
[Swift4]スクロールビューの使い方 – Qiita
https://qiita.com/tojo/items/ee054559ae84aaeaae39
さて実装方法ですが、下記のサンプルコードのように実装するだけでした。
let scrollView = UIScrollView() //scrollViewの大きさを設定。 scrollView.frame = self.view.frame //スクロール領域の設定 scrollView.contentSize = CGSize(width: self.view.bounds.width, height: 550) self.view.addSubview(scrollView!) // TextField を作成 let username = UITextField(frame: CGRect(x: 0, y: 0, width: 300, height: 50)) username.delegate = self username.layer.position = CGPoint(x: self.view.bounds.width/2, y: 100) scrollView.addSubview(username)
ポイントは最後の行で、通常は self.view.addSubview(username)
と指定するところを scrollView.addSubview(username)
とするだけでした。
上記のように指定することで、UIScrollView
に対して UITextField
を追加することができます。
変更する箇所はここだけでした。
もちろん、UILabel
や UIButton
なども同様に追加できます。
以上、UIScrollView
に、UITexrField
などの UIView
を子要素として追加する方法でした。
Storyboard
は 複数人での開発時が面倒になるので、コードのみで実装しています。
ご参考になれば幸いです。