【问题标题】:NSLayoutConstraint for view on UITableViewNSLayoutConstraint 用于 UITableView 上的视图
【发布时间】:2015-02-21 21:36:45
【问题描述】:

我有一个UIViewController 和一个UITableView 以及一个在UITableView 上方但与屏幕底部对齐的UIView。问题是当用户打电话时,frame 设置不起作用,UIView 被推到屏幕下方(所以它被稍微覆盖了。我试图将UIView 对齐到视图底部,根本没有让它对齐。我的约束定义如下:

[self.view addSubview:self.signupView];
[self.view addSubview:self.tableView];
[self.view bringSubviewToFront:self.signupView];

NSArray *v = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_signupView(70)]-0-|"
                                                     options:NSLayoutFormatAlignAllBaseline
                                                     metrics:nil
                                                       views:NSDictionaryOfVariableBindings(_signupView)];
NSArray *h = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_signupView]|"
                                                     options:NSLayoutFormatAlignAllBottom
                                                     metrics:nil
                                                       views:NSDictionaryOfVariableBindings(_signupView)];
[self.view addConstraints:h];
[self.view addConstraints:v];

signupView 的高度是 70,它应该正好在屏幕底部与整个屏幕的宽度对齐。上面的代码是将视图放在视图的顶部。我在这里缺少什么吗?为什么它不像我上面所说的那样与底部对齐?我试图阅读以下内容:

http://commandshift.co.uk/blog/2013/01/31/visual-format-language-for-autolayout/

http://makeapppie.com/2014/07/26/the-swift-swift-tutorial-how-to-use-uiviews-with-auto-layout-programmatically/

Use autolayout to set dynamic UIView to match container view

【问题讨论】:

    标签: autolayout nslayoutconstraint


    【解决方案1】:

    想通了。

    这是对我有用的以下内容:

    NSArray *v = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[_signupView(70)]-0-|"
                                                         options:NSLayoutFormatAlignAllBaseline
                                                         metrics:nil
                                                           views:NSDictionaryOfVariableBindings(_signupView)];
    NSArray *h = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_signupView]|"
                                                         options:NSLayoutFormatAlignAllBottom
                                                         metrics:nil
                                                           views:NSDictionaryOfVariableBindings(_signupView)];
    [self.view addConstraints:h];
    [self.view addConstraints:v];
    

    【讨论】:

      猜你喜欢
      • 2021-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多