AutoLayoutの使用心得(3)-cellをカスタマイズし、AutoLayoutを使用
3744 ワード
このシリーズの文書コード倉庫はhttps://github.com/johnlui/AutoLayout あ、わからないことがあったら、私のオートLayout設定を参考にしてくださいね.ローカルにダウンロードして開けばいいです.
概要
本編では、UItableViewCellをカスタマイズし、AutoLayoutを使用して制約してみます.
カスタムcellベース
前のプロジェクトでは、StoryBoardを使用してページを整理し、StoryBoardは多くのxibの集合と見なすことができるので、2つの情報を得ることができます.このプロジェクトは、プライマリStoryBoardファイルを初期化することによってAPPを表示し、UIViewControllerクラスファイルはStoryBoardファイルのバインドによって初期化され、機能を完了します. 新しいStoryBoardファイルまたは新しいxibファイルを作成してUIを構築し、ページに動的にロードできます.
ファイルを作成
xibファイルとクラスのコードファイルを一度に作成できます.
新しいCocoa Touch Class:
次の図と同じように設定します.
検査結果
上の図の1、2の2つをそれぞれ選択し、3つがfirstTable View Cellに自動的にバインドされているかどうかを確認します.バインドされていない場合は、選択した要素が2であることを確認してから、手動でバインドすればいいです.
バインド作業の完了
下の図のようにIdentifier設定を行うには、ページを切り替えます.
新しいTable View Controlページ
新しいTable View Controlページを作成し、前に作成したSwift on iOSのボタンのクリックイベントをバインドします.
次にfirstTableViewコントローラというUItableViewコントローラクラスを作成し、作成プロセスは前とほぼ一致します.xibを作成しないでください.次に、StoryBoardのTable View Controlを選択し、右側でfirstTable View Controlクラスにバインドします.
カスタムcellを呼び出す
firstTable View Controlクラスの有効なコードを変更するには、次の手順に従います.
viewDidLoad()に追加された2行のコードはxibをロードする操作です.一番下の3つのfuncはそれぞれ定義です. self.tableViewのsection の数各sectionにはそれぞれいくつのエントリがありますか は各エントリをインスタンス化し、コンテンツ を提供する.
次のページを入手すると、カスタムcellを呼び出すことに成功しました.
カスタムcellに要素を追加し、Auto Layout制約を使用
まずImages.xcassetsに1枚の画像を任意に追加します.
次に、左側のファイルツリーでfirstTable View Cell.xibを選択し、右側のコンポーネントライブラリからImage Viewをドラッグし、右側で次の図の右側のようにサイズを設定します.
ImageViewに制約を追加するには、次の手順に従います.
このImageView(左矢印)を選択し、自動Auto Layout(右矢印)をクリックします.
ImageViewに画像を設定します.
右側のコンポーネントライブラリからUIlabelをドラッグし、最も右側に吸着し、垂直に中央に配置し、自動コンストレイントを追加する手順は説明しません.
firstTableビューセルクラスでxibでドラッグした要素をバインドする
firstTable.View.xibを選択し、ダブルビューに切り替えてドラッグバインドを直接行います.
バインド完了!
拘束cellの高さ
firstTable View Controlに次の方法を追加します.
カスタムUIlabelにコンテンツを追加
firstTable View Controlの次の関数を変更します.
結果の表示
4.0インチ:
4.7インチ:
以上の結果が得られたら、cellをカスタマイズしてAuto Layoutを使用して成功しておめでとうございます.
次のステップ:AutoLayoutの使用心得(4)-22行のコードでドラッグ・バウンドを実現
原文は私の個人のウェブサイトで発表します:AutoLayoutの使用の心得(3)——cellをカスタマイズしてAutoLayoutを使用します
概要
本編では、UItableViewCellをカスタマイズし、AutoLayoutを使用して制約してみます.
カスタムcellベース
前のプロジェクトでは、StoryBoardを使用してページを整理し、StoryBoardは多くのxibの集合と見なすことができるので、2つの情報を得ることができます.
ファイルを作成
xibファイルとクラスのコードファイルを一度に作成できます.
新しいCocoa Touch Class:
次の図と同じように設定します.
検査結果
上の図の1、2の2つをそれぞれ選択し、3つがfirstTable View Cellに自動的にバインドされているかどうかを確認します.バインドされていない場合は、選択した要素が2であることを確認してから、手動でバインドすればいいです.
バインド作業の完了
下の図のようにIdentifier設定を行うには、ページを切り替えます.
新しいTable View Controlページ
新しいTable View Controlページを作成し、前に作成したSwift on iOSのボタンのクリックイベントをバインドします.
次にfirstTableViewコントローラというUItableViewコントローラクラスを作成し、作成プロセスは前とほぼ一致します.xibを作成しないでください.次に、StoryBoardのTable View Controlを選択し、右側でfirstTable View Controlクラスにバインドします.
カスタムcellを呼び出す
firstTable View Controlクラスの有効なコードを変更するには、次の手順に従います.
swift
import UIKit class firstTableViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() var nib = UINib(nibName: "firstTableViewCell", bundle: nil) self.tableView.registerNib(nib, forCellReuseIdentifier: "firstTableViewCell") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } // MARK: - Table view data source override func numberOfSectionsInTableView(tableView: UITableView) -> Int { return 1 } override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 10 } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("firstTableViewCell", forIndexPath: indexPath) as firstTableViewCell cell.textLabel?.text = indexPath.row.description return cell } }
viewDidLoad()に追加された2行のコードはxibをロードする操作です.一番下の3つのfuncはそれぞれ定義です.
次のページを入手すると、カスタムcellを呼び出すことに成功しました.
カスタムcellに要素を追加し、Auto Layout制約を使用
まずImages.xcassetsに1枚の画像を任意に追加します.
次に、左側のファイルツリーでfirstTable View Cell.xibを選択し、右側のコンポーネントライブラリからImage Viewをドラッグし、右側で次の図の右側のようにサイズを設定します.
ImageViewに制約を追加するには、次の手順に従います.
このImageView(左矢印)を選択し、自動Auto Layout(右矢印)をクリックします.
ImageViewに画像を設定します.
右側のコンポーネントライブラリからUIlabelをドラッグし、最も右側に吸着し、垂直に中央に配置し、自動コンストレイントを追加する手順は説明しません.
firstTableビューセルクラスでxibでドラッグした要素をバインドする
firstTable.View.xibを選択し、ダブルビューに切り替えてドラッグバインドを直接行います.
バインド完了!
拘束cellの高さ
firstTable View Controlに次の方法を追加します.
swift
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { return 50 }
カスタムUIlabelにコンテンツを追加
firstTable View Controlの次の関数を変更します.
swift
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("firstTableViewCell", forIndexPath: indexPath) as firstTableViewCell cell.firstLabel.text = indexPath.row.description return cell }
結果の表示
4.0インチ:
4.7インチ:
以上の結果が得られたら、cellをカスタマイズしてAuto Layoutを使用して成功しておめでとうございます.
次のステップ:AutoLayoutの使用心得(4)-22行のコードでドラッグ・バウンドを実現
原文は私の個人のウェブサイトで発表します:AutoLayoutの使用の心得(3)——cellをカスタマイズしてAutoLayoutを使用します