2017-01-19 1 views
1

私はautolayoutを学びたいと思っていますが、ある時点で立ち往生しています。Xcode 7.3でUILabelsにAutolayoutを適用しています

これは私が達成したいものです。私はimageViewと3つのラベルとボタンを持つカスタムtableViewセルを持っています。

enter image description here

私は彼らの圧縮抵抗の優先順位とハグの優先順位を変更しようとしましたが、失敗しています。だから誰かが私にこれをすることができます私を導くことができますか?

答えて

0

ラベルを固定サイズ(numberOfLines!= 0)にすると、テキストの内容が適切でない場合、自動的に...が表示されます。

ビューレイアウトを作成するには、ビューをスタッキングして自動レイアウトを管理できる新しい(iOS 9時点の)UIStackViewを見てください。

UIStackViewの内部に3つのラベルを付けることが可能です。次に、自動レイアウト制約を使用して、UIStackView、ボタン、イメージを配置します。視覚言語を使用して

:H:あなたは、ラベルのサイズを制御することができるようにUIStackViewにいくつかの固定幅および/または高さを確認する必要があり、あなたの制約の1つ[myStackView(== 280)]または

theView.addConstraint(NSLayoutConstraint(item: myStackView, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.width, multiplier: 1, constant: 280)) 

はここにサンプルプログラムでUIStackViewを作成するためのコードと、Appleのドキュメントへのリンクです: https://developer.apple.com/reference/uikit/uistackview

サンプルコードは、水平に積み重ねられた中心の2つのラベルを持っており、同じサイズで、40で区切られたあなたは、垂直ラベルを積み重ねることになるでしょう。

let stackView = UIStackView(arrangedSubviews: [negativeResponseButton, positiveResponseButton]) 
stackView.axis = .horizontal 
stackView.distribution = .fillEqually 
stackView.alignment = .center 
stackView.spacing = 40 
関連する問題