Swift:如何声明视图后代

时间:2015-03-27 18:38:00

标签: xcode swift autolayout

我尝试添加以下约束来对齐表格单元格中的图像。 self指的是图像视图所在的UITableViewCell对象:

    var imageViewTest = UIImageView();

    self.rowImageView = imageViewTest;

    var xAlignmentConstraint = NSLayoutConstraint(
        item: imageViewTest,
        attribute: NSLayoutAttribute.CenterX,
        relatedBy: NSLayoutRelation.Equal,
        toItem: self,
        attribute: NSLayoutAttribute.CenterX,
        multiplier: 1,
        constant: 137
    );


NSLayoutConstraint.activateConstraints([xAlignmentConstraint]);

self.addConstraint(xAlignmentConstraint);

运行代码时,出现以下错误:

  

无法激活项目约束,因为它们没有共同点   祖先。约束是否在不同视图中引用项目   层次结构?这是非法的。

如何声明imageViewTest是self的后代?

1 个答案:

答案 0 :(得分:1)

您需要添加rowImageView作为自我的子视图。

var imageViewTest = UIImageView()
self.rowImageView = imageViewTest
self.addSubview(self.rowImageView)