2017-04-07 8 views
0

私はストーリーボードで設計したカスタムUITableViewCellを持っています。カスタムセルには、ラベルとテキストフィールドが含まれています。ラベルはセルの左側にあり、テキストフィールドは右側にある必要があります。しかし、どのような制約の組み合わせであっても(テキストフィールドの右側をセルの右側に制約し、テキストフィールドの左側をラベルから300ピクセル離して配置するなど)、テキストフィールドは常に終了します私のアプリを実行するとラベルに積み重ねられます。ここなぜ私のカスタムUITableViewCellスタックの子ウィジェットが互いに重なり合っているのですか?

この画像で

enter image description here

ストーリーボードの一部のスクリーンショットです、テキストフィールドの後縁部は、その親の末尾のマージンに設定されています。

これはアプリ内でのようです。

enter image description here

これは、カスタムテーブルセルクラスの私のコードです:あなたは間違って何かを設定している

class ItemRowCell: UITableViewCell { 
@IBOutlet weak var itemDescription: UILabel! 
@IBOutlet weak var quantity: UITextField! 

override func awakeFromNib() { 
    super.awakeFromNib() 
    // Initialization code 
} 

override func setSelected(_ selected: Bool, animated: Bool) { 
    super.setSelected(selected, animated: animated) 

    // Configure the view for the selected state 
} 

} 
+0

UIデバッガーを試しましたか? – PeejWeej

+0

UIデバッガは、どちらのウィジェットもセルの端に拘束されていないことを示し、テキストフィールドの先頭の値はラベルの先頭の値に設定されています。 – robz

答えて

0

...私が提案し、新鮮なスタート。

現在のラベルとテキストフィールドを削除します。

あなたのセルのプロトタイプに新しいラベルを追加し、中心に0につながる制約および垂直制約を設定する - このようになります。

enter image description here

を新しいテキストフィールドを追加し、設定0の末尾の制約、垂直制約中心に、幅制約〜80:

enter image description here

あなた@IBOutletsを再接続し、アプリケーションを実行します。

+0

私はそれを試したところ、結果は同じです。 – robz

+0

あなたの制約のスクリーンキャップを表示しますか?あなたがそれに従っていれば、別の結果が得られたはずです。 – DonMag

+0

[Constraints image](http://i.imgur.com/2QmxxRc.png) – robz

関連する問題