标签: autolayout

UITableViewCell中iOS7上的自动布局约束问题

我正在以编程方式使用自动布局约束来布局我的自定义UITableView单元格,并且我正确地定义了单元格大小 tableView:heightForRowAtIndexPath:

它在iOS6上运行得很好,在iOS7中看起来也很好

但是当我在iOS7上运行应用程序时,这是我在控制台中看到的那种消息:

Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
2013-10-02 09:56:44.847 Vente-Exclusive[76306:a0b] Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or …
Run Code Online (Sandbox Code Playgroud)

uitableview ios autolayout nslayoutconstraint ios7

104
推荐指数
4
解决办法
6万
查看次数

使用自动布局约束时,如何获取视图的当前宽度和高度?

我不是在谈论框架属性,因为从中你只能获得xib中视图的大小.我正在讨论视图由于其约束(可能在旋转之后,或响应事件)而调整大小的时间.有没有办法获得当前的宽度和高度?

我试图通过其约束来寻找宽度和高度约束,但是当存在内在约束时,这不是很干净并且失败(因为我无法区分这两者).此外,仅当它们实际具有宽度和高度约束时才有效,如果它们依赖其他约束来调整大小,则它们不会.

为什么这对我来说如此困难.ARG!

ios autolayout

103
推荐指数
3
解决办法
8万
查看次数

我可以在运行时禁用特定子视图的自动布局吗?

我有一个视图,需要以编程方式操作它的框架 - 它是一种包含其内容的文档视图,然后通过操作框架原点滚动并围绕超视图进行缩放.Autolayout在运行时与此斗争.

完全禁用自动布局似乎有点苛刻,因为它可以合理地用于处理其他视图的布局.看起来我可能想要的是某种"空约束".

xcode interface-builder xcode4 xcode4.3 autolayout

102
推荐指数
7
解决办法
8万
查看次数

是否可以使用自动布局获取动态表格视图节标题高度?

在iOS 8中,您可以通过简单地设置估计的行高来获得100%动态表格视图单元格,然后使用"自动布局"在单元格中布局元素.如果内容物的高度增加,则细胞的高度也会增加.这非常有用,我想知道是否可以在表格视图中为节标题完成相同的专长?

例如,可以创建一个UIViewin tableView:viewForHeaderInSection:,添加一个UILabel子视图,为视图指定标签的自动布局约束,并使视图的高度增加以适应标签的内容,而不必实现tableView:heightForHeaderInSection:

viewForHeaderInSection状态文档:"只有在实现tableView:heightForHeaderInSection:时,此方法才能正常工作." 我还没有听说过iOS 8有什么变化.

如果一个人不能这样做,模仿这种行为的最佳方法是什么?

uitableview ios autolayout ios8

102
推荐指数
6
解决办法
6万
查看次数

更新到Xcode 8后的布局问题

在我升级到Xcode 8之后,这是我的一个屏幕之前和之后.
我所做的只是打开我的main.storyboard,然后我在手机上构建并运行了我的应用程序.
在我的版本控制中,我可以看到Xcode正在对我的main.storyboard进行大量更改,就在我打开它之前.
每当我删除这些更改时,我都能看到我在Xcode 7.3.1中看到的内容.
但是,只要我用我的故事板重新打开界面构建器,我就会看到这些更改重新出现.

我能在这做些什么吗?

在Xcode 8之前

在此输入图像描述

更新到Xcode 8后

在此输入图像描述

xcode ios autolayout ios10 xcode8

102
推荐指数
6
解决办法
4万
查看次数

我什么时候可以激活/停用布局约束?

我在IB中设置了多组约束,我想根据某些状态以编程方式在它们之间切换.有一个constraintsA出口集合,所有出口集合都标记为从IB安装,constraintsB出口集合全部在IB中卸载.

我可以编程方式在两个集之间切换,如下所示:

NSLayoutConstraint.deactivateConstraints(constraintsA)
NSLayoutConstraint.activateConstraints(constraintsB)
Run Code Online (Sandbox Code Playgroud)

但是......我无法弄清楚何时这样做.看起来我应该能够做到这一点viewDidLoad,但我不能让它工作.我已经尝试过调用view.updateConstraints()view.layoutSubviews()在设置约束后,但无济于事.

我确实发现,如果我设置约束,viewDidLayoutSubviews一切都按预期工作.我想我想知道两件事......

  1. 为什么我会出现这种行为?
  2. 是否可以从viewDidLoad激活/停用约束?

uiview ios autolayout nslayoutconstraint swift

97
推荐指数
7
解决办法
7万
查看次数

是否可以将AutoLayout与UITableView的tableHeaderView一起使用?

因为我发现AutoLayout我到处都使用它,现在我正在尝试使用它tableHeaderView.

我做了subclass一些UIView添加的东西(标签等......)我想要他们的约束,然后我把它添加CustomViewUITableView' tableHeaderView.

一切都工作得很好,除了UITableView总是显示上面CustomView,通过以上我指的CustomViewUITableView,因此它不能被看到!

看来,无论我做什么,对heightUITableView" tableHeaderView始终 0(所以是宽度,x和y).

我的问题:如果不手动设置框架,是否可以完成此操作

编辑:我正在使用 的CustomView' subview有这些限制:

_title = [[UILabel alloc]init];
_title.text = @"Title";
[self addSubview:_title];
[_title keep:[KeepTopInset rules:@[[KeepEqual must:5]]]]; // title has to stay at least 5 away from the supperview Top
[_title keep:[KeepRightInset …
Run Code Online (Sandbox Code Playgroud)

iphone uitableview ipad ios autolayout

91
推荐指数
8
解决办法
6万
查看次数

使用Storyboard掩盖UIView并给出圆角?

很多像这样的问题解释了如何以编程方式创建一个蒙版并为UIView提供圆角.

有没有办法在Storyboard中完成所有操作?只是因为看起来像在Storyboard中创建圆角似乎在表示和逻辑之间保持更清晰的界限.

xcode storyboard ios autolayout swift

91
推荐指数
3
解决办法
7万
查看次数

从Xcode 8和iOS10开始,viewDidLayoutSubviews上的视图大小不正确

似乎在Xcode 8上viewDidLoad,所有viewcontroller子视图都具有相同的1000x1000大小.奇怪的是,但没关系,viewDidLoad从来没有一个正确调整视图大小的好地方.

但是viewDidLayoutSubviews!

在我当前的项目中,我尝试打印按钮的大小:

- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];

    NSLog(@"%@", self.myButton);
}
Run Code Online (Sandbox Code Playgroud)

日志显示myButton的大小为(1000x1000)!然后,如果我登录按钮单击,例如,日志显示正常大小.

我正在使用autolayout.

这是一个错误吗?

ios autolayout ios10 xcode8

91
推荐指数
5
解决办法
3万
查看次数

UICollectionView,全宽单元格,允许自动布局动态高度?

这是关于当前iOS开发的一个相当基本的问题,我从来没有找到一个好的答案.


在(比方说)垂直UICollectionView,

是否可以使用全宽度单元格,但是,允许通过自动布局控制动态高度?

(如果你是iOS"动态高度"的新手,意味着单元格有一些,比方说,文本视图可以是任何长度或图像可以是不同的大小,所以最终每个单元格是一个完全不同的高度.)

如果是这样的话?

这对我来说可能是"iOS中最重要的问题而没有真正好的答案".

ios autolayout uicollectionview

91
推荐指数
8
解决办法
5万
查看次数