VFL (Visual Formatting Language) を使用して、次のレイアウトでビューを作成しようとしています。
-------------------------------------------------- | | [左図] [中央図] [右図]| --------------------------------------------------
しかし、それはこのように表示されています
-------------------------------------------------- | | [左図] [右図]| --------------------------------------------------
問題はこの行にあると思います
H:|-10-[cancel(70)]-[title]-[save(70)]-10-|
何が間違っているのかわからない残りのコードを次に示します。これが私のコードです:
let headerView = UIView(frame: CGRectMake(0,0,mainFrame.width, headerHeight))
headerView.backgroundColor = BG_COLOR
self.addSubview(headerView)
let cancelButton = UIButton(type: .Custom)
cancelButton.translatesAutoresizingMaskIntoConstraints = false
cancelButton.setTitle("Cancel", forState: .Normal)
cancelButton.addTarget(self, action: "cancelButtonClick:", forControlEvents: .TouchUpInside)
headerView.addSubview(cancelButton)
let titleLabel = UILabel()
titleLabel.text = "Bedroom"
titleLabel.textColor = UIColor.whiteColor()
headerView.addSubview(titleLabel)
let saveButton = UIButton(type: .Custom)
saveButton.titleLabel?.textAlignment = NSTextAlignment.Right
saveButton.translatesAutoresizingMaskIntoConstraints = false
saveButton.setTitle("Save", forState: .Normal)
saveButton.addTarget(self, action: "saveButtonClick:", forControlEvents: .TouchUpInside)
headerView.addSubview(saveButton)
let views = ["title":titleLabel, "cancel":cancelButton,"save":saveButton,"header":headerView]
headerView.addConstraints(
NSLayoutConstraint.constraintsWithVisualFormat(
"V:|[save]|",
options:[.AlignAllCenterY],
metrics:nil,
views:views)
)
headerView.addConstraints(
NSLayoutConstraint.constraintsWithVisualFormat(
"V:|[cancel]|",
options:[.AlignAllCenterY],
metrics:nil,
views:views)
)
headerView.addConstraints(
NSLayoutConstraint.constraintsWithVisualFormat(
"V:|[title]|",
options:[.AlignAllCenterY],
metrics:nil,
views:views)
)
headerView.addConstraints(
NSLayoutConstraint.constraintsWithVisualFormat(
"H:|-10-[cancel(70)]-[title]-[save(70)]-10-|",
options:[.AlignAllCenterY],
metrics:nil,
views:views)
)