我在代碼中使用autolayout而不是IB將自定義按鈕添加到UIToolbar。我的問題是關於最佳做法。我用下面的代碼添加,設置大小工具欄中的按鈕內:在代碼中使用自動佈局調整UIButton的最佳實踐?
(1)
//-------------------------------------------------------
// Toobar View
//-------------------------------------------------------
UIToolbar *toolbar = [UIToolbar new];
UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom];
[addButton setImage:[UIImage imageNamed:@"add_normal"] forState:UIControlStateNormal];
[addButton setImage:[UIImage imageNamed:@"add_highlighted"] forState:UIControlStateHighlighted];
[addButton addTarget:self action:@selector(addItem:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *addNewItemButton = [[UIBarButtonItem new] initWithCustomView:addButton];
[toolbar setItems:[NSArray arrayWithObject:addNewItemButton] animated:NO];
// Add Views to superview
[superview addSubview:topbarView];
[superview addSubview:_tableView];
[superview addSubview:toolbar];
[toolbar addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"H:|-(10)-[addButton(39)]"
options:0
metrics:nil
views:viewsDictionary]];
[toolbar addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"V:|-(7)-[addButton(29)]"
options:0
metrics:nil
views:viewsDictionary]];
(2)或我使用這樣不同的代碼來設置幀大小的按鈕尺寸:
CGRect buttonFrame = addButton.frame;
buttonFrame.size = CGSizeMake(19, 19);
addButton.frame = buttonFrame;
那麼1號是推薦的方式嗎?我已經閱讀過,設置框架在自動佈局世界中是普通的否?
點擊thanks.I從我的自動佈局代碼中刪除了對該按鈕的任何引用並設置了幀大小。 – JMWhittaker