コンテンツの配置
画面上に配置されるコンテンツは、すべてUIViewクラスの派生クラスで管理されます。コンテンツを位置する際には、配置するオブジェクトを生成し、位置関係を指定した上でUIViewクラスのaddSubviewメソッドで追加します。
コンテンツを配置する
ビューコントローラーの画面は、self.viewでアクセスできます。self.viewでaddSubviewメソッドを実行し、オブジェクトを画面に配置します。具体的なサンプルは次の通りです。
var SampleView : UIView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. // 表示するコンテンツの矩形を指定 var rect : CGRect = CGRectMake(100, 100, 50, 40) // UIViewオブジェクトを生成 SampleView = UIView(frame:rect) // 背景色を指定 SampleView.backgroundColor = UIColor.blackColor() // タグを指定 SampleView.tag = 1 // 画面に配置 self.view.addSubview(SampleView) }
実行結果は次の通りです。
Swiftでよく利用されるコンテンツを表すUIView派生クラスには次のものがあります。
名前 | 概要 |
---|---|
UILabel | ラベル |
UIImageView | 画像 |
UITextView | テキスト |
UIScrollView | スクロール画面 |
UITableView | テーブル |
UITableViewCell | テーブルのセル |
UICollectionView | コレクション |
UIWebView | Webページ |
MKMapView | 地図 |
各クラスの詳細は章末のAppleのドキュメントを参照してください。
Interface Builderを利用する
Interface BuilderはXcodeに標準で備わっている画面作成の支援ツールです。ビューコントローラーのサブクラスを生成する際に、「Also create XIB file」にチェックを入れると、クラス名と同じ名前でxibファイルが生成されます。xibファイルでは、右のウィンドウからドラッグ&ドロップでコンテンツやUI部品を画面上に配置でき、ツールでの外観の指定も容易に行えます。
xibファイルに配置したコンテンツやUI部品は、マウスで選択後、ソースコードへドラッグすることで名前を付けてソース内にオブジェクトとして扱うことができます。
このようにしてソースコードと紐付けたオブジェクトには、初期化処理や外観の指定等のプログラムは不要です。Interface Builderで命名したオブジェクト名をプログラムの中でそのまま利用できます。Interface Builderをうまく利用すると、記述するプログラムの量を減らすことができ、開発作業を迅速に進めることができます。
まとめ
今回はアプリの画面構成に関して基本的な説明を行いました。次回は、画面へのUI部品の配置やUIを操作した際の処理についての説明を行う予定です。