【问题标题】:ios setting anchor from XIB table not working properlyios 从 XIB 表设置锚点无法正常工作
【发布时间】:2017-06-10 05:22:28
【问题描述】:

我在 XIB 中定义了一些小部件,我想以编程方式设置约束锚。当我设置一个 imageView 似乎可以工作,但是当设置左、右或底部锚时 UITable 正在消失。

此外,该表格未在 imageView 下方设置 Y 位置...

- (void)viewDidLayoutSubviews{
    [super viewDidLayoutSubviews];

    [self setupConstrains];
}

- (void)setupConstrains {

//    //image world
    self.whatDoppelsView.translatesAutoresizingMaskIntoConstraints = false;

    [self.whatDoppelsView.leadingAnchor constraintEqualToAnchor:self.view.leadingAnchor].active = YES;
    [self.whatDoppelsView.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor].active = YES;

    //table,
    self.table.translatesAutoresizingMaskIntoConstraints = false;
//    
    [self.table.topAnchor constraintEqualToAnchor:self.whatDoppelsView.bottomAnchor constant:0];
//
//    [self.table.topAnchor constraintEqualToAnchor:self.view.topAnchor constant:1];
//
//    //[self.table.heightAnchor constraintEqualToConstant:900];
//    
    [self.table.heightAnchor constraintEqualToAnchor:self.view.heightAnchor multiplier:0.50];

//    [self.table.leadingAnchor constraintEqualToAnchor:self.view.leadingAnchor].active = YES;
//    [self.table.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor].active = YES;

//    [self.table.bottomAnchor constraintEqualToAnchor: self.view.bottomAnchor].active = YES;

}

如果我取消注释表格前导、尾随或底部锚点,它就会消失,表格也应该在我的 imageView 下方。

如何解决这个布局?,谢谢!

【问题讨论】:

  • 像上一行一样激活约束。
  • 嗨 @the_dahiya_boy 太完美了!谢谢!让它成为一个答案,谢谢!
  • 你也采取了一些观点:)

标签: ios autolayout layout-anchor


【解决方案1】:

激活您的constraints,就像您在最后几行中所做的那样。否则,您只需将约束赋予组件,并且它们未处于激活状态,则不会发生任何事情,即组件的行为就像它们没有约束一样。

注意:

每当您以编程方式更改任何组件上的 constraints 时,现在您想要更改组件布局,然后确保您首先正确删除所有先前的约束,即使您想要更新任何单个 constraint 那么首先你必须完全删除所有以前的约束,否则 x-code 会发生冲突。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 2022-12-18
    相关资源
    最近更新 更多