我想将两个视图(在本例中为UIButton
个实例)彼此相邻。我希望第一个按钮与其超视图保持对齐,这很容易,但是我没有看到第二个按钮在第一个按钮旁边对齐而没有引用第一个宽度的方法。
这就是我现在正在尝试的事情:
UIView *superView = ...;
UIButton *buttonOne = [UIButton buttonWithType:UIButtonTypeCustom];
buttonOne.translatesAutoresizingMaskIntoConstraints = NO;
[superView addView:buttonOne];
[buttonOne constrainWidth:@"123" height:HEADER_HEIGHT_STRING];
[buttonOne alignTop:nil leading:nil superView];
UIButton *buttonTwo = [UIButton buttonWithType:UIButtonTypeCustom];
buttonTwo.translatesAutoresizingMaskIntoConstraints = NO;
[self addSubview:buttonTwo];
[buttonTwo constrainWidth:@"345" height:HEADER_HEIGHT_STRING];
[buttonTwo alignLeadingEdgeWithView:buttonOne predicate:@"123"]
如何避免代码最后一行的@"123"
?我希望它只使用buttonOne
的宽度。
答案 0 :(得分:0)
我的答案是不使用FLKAutoLayout
并向我们学习。 NSLayoutConstraint
直接如此:
NSDictionary *views = NSDictionaryOfVariableBindings(buttonOne, buttonTwo);
[superView addConstraint:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[buttonOne][buttonTwo]-|" options:0 metrics:nil views:views]];