自動レイアウトを使用してUITableViewCell内のUILabelを処理する方法は?私は青いラベルが中央ではなく、それが長いかどう同じセルに隣接ラベルを横断せずになりたい自動レイアウトを使用してUITableViewCell内のUILabelを処理する方法は?
:そのラベルの長さに応じて...これが私の見解です。
これらの間に制約を追加しましたが、中心にはありません。
このタイプのセルにはどんな制約がありますか?
自動レイアウトを使用してUITableViewCell内のUILabelを処理する方法は?私は青いラベルが中央ではなく、それが長いかどう同じセルに隣接ラベルを横断せずになりたい自動レイアウトを使用してUITableViewCell内のUILabelを処理する方法は?
:そのラベルの長さに応じて...これが私の見解です。
これらの間に制約を追加しましたが、中心にはありません。
このタイプのセルにはどんな制約がありますか?
ラベル名はtitle_label
とdetail_label
、つまり3番目のセル 'service'のタイトルはタイトルで、もう1つのラベルは詳細です。
I. title_labelの先頭スペースをスーパービューに設定し、必要に応じて定数を設定します。そのアウトレットをconstraint_title_leading
としましょう。
II。 title_label
の場合は、コンテナの中心を垂直に設定します。
III。 title_label
の末尾にdetail_label
の先頭スペースを設定します。定数を8点とする。コンセントを作成して名前をconstraint_detail_leading
IVにする。 detail_labelを垂直中心に設定します。title_label
またはsuperview。
VI。 detail_label
のコンテンツの配置を中央に設定します。
VII。スーパービューに詳細ラベルの末尾のスペースを設定すると、コード内の定数を変更することはありません。その名前をconstraint_detail_trailing
VIIIとする。セルのデータソースを設定したら、このメソッドを呼び出します。それはトップに代わりdetail_label
ピンの中心制約の列の複数行、すなわち動的高さを有効にし、上部定数が底定数に等しくなるように底WRTのスーパーする
func adjustConstraints() -> Void {
let titleWidth = (self.title_label.text! as NSString).boundingRectWithSize(CGSizeMake(600, 600), options: .UsesLineFragmentOrigin,
attributes: [NSFontAttributeName : self.title_label.font], context: nil).width
self.constraint_detail_trailing.constant = self.constraint_title_leading.constant + titleWidth + self.constraint_detail_leading.constant
self.layoutIfNeeded()
}
および0.1であるために、そのnumberOfLines
を設定self.tableView.rowHeight = UITableViewAutomaticDimension
は、あなたの「サービス」ラベル
に関連した青色のラベルに選択肢(10pxの)制約の主要な余白を追加ラベルにhorizantolセンターの制約を削除し、それに通じる/末尾の制約を追加します。次に、テキストの位置揃えをUILabelの中心として設定します。
UILabelにも上限と下限の制約があることに注意してください。そして、 "サービス" UILabelのための唯一の上限制約。
回答ありがとうございますが、まだ問題がある – Zizoo
結果はありましたか?コードを追加する必要があります。 – hasan83