浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【Swift】Storyboardを使わずにUIScrollViewの中にUITextFieldなどを追加する方法

私の調べ方が悪いのだと思いますが…UIScrollView を実装した後に、その子要素として UITextFieldUILabel などの 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 を追加することができます。
変更する箇所はここだけでした。
もちろん、UILabelUIButton なども同様に追加できます。

 

以上、UIScrollView に、UITexrField などの UIView を子要素として追加する方法でした。
Storyboard は 複数人での開発時が面倒になるので、コードのみで実装しています。
ご参考になれば幸いです。

  • この記事いいね! (0)