【发布时间】:2013-11-03 07:52:15
【问题描述】:
在我的cellForRowAtIndexPath: 方法中,我有以下代码:
UIButton *signOutButton = [[UIButton alloc] init];
[signOutButton addTarget:self action:@selector(logoutButtonTapped) forControlEvents:UIControlEventTouchUpInside];
signOutButton.translatesAutoresizingMaskIntoConstraints = NO;
signOutButton.titleLabel.textColor = [UIColor colorWithRed:0/255.0 green:180/255.0 blue:35/255.0 alpha:1.0];
signOutButton.titleLabel.text = @"Sign Out";
[cell.contentView addSubview:signOutButton];
[cell.contentView addConstraint:[NSLayoutConstraint constraintWithItem:signOutButton
attribute:NSLayoutAttributeLeading
relatedBy:NSLayoutRelationEqual
toItem:cell.contentView
attribute:NSLayoutAttributeLeft
multiplier:1.0
constant:50.0]];
[cell.contentView addConstraint:[NSLayoutConstraint constraintWithItem:signOutButton
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:cell.contentView
attribute:NSLayoutAttributeRight
multiplier:1.0
constant:50.0]];
[cell.contentView addConstraint:[NSLayoutConstraint constraintWithItem:signOutButton
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:cell.contentView
attribute:NSLayoutAttributeBottom
multiplier:1.0
constant:-6.0]];
但是当我加载单元格时它永远不会出现。我是 Auto Layout 的新手,所以谁能弄清楚我做错了什么?
奇怪的是,如果我点击按钮应该是方法执行的区域。
【问题讨论】:
-
为所有异常添加一个异常断点并运行你的应用程序,如果你的自动布局规则有一些冲突,应该停止执行并且你应该能够理解什么是错误的
标签: ios objective-c uibutton autolayout nslayoutconstraint