ios - 具有 anchor 样式自动布局约束的 UIButtons 未显示

标签 ios swift uibutton autolayout

我以这种方式添加了一个 subview :

dailyButtonView.translatesAutoresizingMaskIntoConstraints = false
dailyButtonView.backgroundColor = UIColor.redColor()


dailyWeeklyButtonViewContainer.addSubview(dailyButtonView)

let centerX_d = dailyButtonView.centerXAnchor.constraintEqualToAnchor(dailyWeeklyButtonViewContainer.centerXAnchor)
let centerY_d = dailyButtonView.centerYAnchor.constraintEqualToAnchor(dailyWeeklyButtonViewContainer.centerYAnchor)
let width_d = dailyButtonView.widthAnchor.constraintEqualToAnchor(dailyWeeklyButtonViewContainer.widthAnchor)
let height_d = dailyButtonView.heightAnchor.constraintEqualToAnchor(dailyWeeklyButtonViewContainer.heightAnchor)
dailyButtonViewCenterX = centerX_d
NSLayoutConstraint.activateConstraints([centerX_d,centerY_d,width_d,height_d])

紧接着,我想添加六个 UIButton (相同大小和相等间距),所以我这样做了:

let dayButtonSide = self.dailyButtonView.frame.height * 0.6   
let dayDistance = (self.dailyButtonView.frame.width - dayButtonSide * 7) / 8.0
for index in 0...6{
    let temp = UIButton()
    temp.translatesAutoresizingMaskIntoConstraints = false
    temp.layer.cornerRadius = 5
    dailyButtonView.addSubview(temp)
    var test = CGFloat(index) * (dayButtonSide / 2)
    test += CGFloat(index + 1) * dayDistance - (dailyButtonView.bounds.width / 2)
    let centerX_t = temp.centerXAnchor.constraintEqualToAnchor(dailyButtonView.centerXAnchor, constant: test)
    let centerY_t = temp.centerYAnchor.constraintEqualToAnchor(dailyButtonView.centerYAnchor)
    let width_t = temp.widthAnchor.constraintEqualToAnchor(nil, constant: dayButtonSide)
    let height_t = temp.heightAnchor.constraintEqualToAnchor(nil, constant: dayButtonSide)
    NSLayoutConstraint.activateConstraints([centerX_t, centerY_t, width_t, height_t])

但是,即使日志中没有错误或警告,这些按钮也不会在模拟中显示。

最佳答案

我明白了。问题出在这一行:let dayButtonSide = self.dailyButtonView.frame.height * 0.6。因为我在 viewDidLoad 中调用了这个函数,所以 dailyButtonView 没有在这一点上布局。

关于ios - 具有 anchor 样式自动布局约束的 UIButtons 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33131251/

相关文章:

ios - 图像上的高斯模糊 - iOS 8

ios - MKOverlayPathView 需要 drawMapRect 吗?

ios - Swift:Apple Mach-O 链接器 (id) 错误 - Xcode 8.3

ios - 为什么在调用 menuItem 的操作时会再次调用 canPerformAction?

ios - UIImagePickerControllerMediaMetadata 返回 null

ios - UIView 中需要 uitableview 分组背景吗?

ios - 即使队列中有项目,skipPrevious 和 skipNext 按钮也无效 Google Cast iOS Sender SDK v4.3.5 及更高版本

ios - 带有图标的 UIButtons 不喜欢

objective-c - 如何在标题更改时停止不需要的 UIButton 动画?

ios - 重置导航栏