構造体にはラベルとテキストフィールドが含まれています。 ラベルのフォントサイズが異なる別のデバイスを適応させる必要があり、テキストフィールドの幅はラベルの幅に応じて柔軟です。以下UITextFiledとUILabelのレイアウトがMasonryで失敗しました
コード:
UIView *selectBgView = [[UIView alloc] init];
selectBgView.backgroundColor = [UIColor redColor];
[condiView addSubview:selectBgView];
[selectBgView makeConstraints:^(MASConstraintMaker *make) {
make.width.equalTo(@200);
make.height.equalTo(@20);
make.left.equalTo(@10);
make.top.equalTo(@20);
}];
UILabel *label = [[UILabel alloc] init];
label.backgroundColor = [UIColor grayColor];
label.font = [UIFont systemFontOfSize:13];
label.text = @"Type :";
[condiView addSubview:label];
[label makeConstraints:^(MASConstraintMaker *make) {
make.left.top.bottom.equalTo(selectBgView);
}];
UITextField * textField = [[UITextField alloc] init];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.font = [UIFont systemFontOfSize:13];
[condiView addSubview:textField];
[textField makeConstraints:^(MASConstraintMaker *make) {
make.right.top.bottom.equalTo(selectBgView);
make.left.equalTo(label.right);
}];
それは下の写真のように動作しません。
しかし、私は、ビューでテキストフィールドを交換する場合。できます!
UIView *view = [UIView new];
view.backgroundColor = [UIColor greenColor];
[condiView addSubview:view];
[view makeConstraints:^(MASConstraintMaker *make) {
make.right.top.bottom.equalTo(selectBgView);
make.left.equalTo(label.right);
}];
誰も私を助けることができれば!どんな助けもありがとう。
私はストーリーボードを使用して同じ定数を設定すると、うまくいきます... – Lucifron
コードについてはどうですか?それは動作しますか? – Yan