草庐IT

AutoLayout

全部标签

ios - 由具有 UITableViewAutomaticDimension 的 FetchedResultsController 提供支持的 UITableView - 重新加载表格时单元格移动

当前设置:具有自动计算高度的TableView:self.tableView.sectionHeaderHeight=UITableViewAutomaticDimension;self.tableView.rowHeight=UITableViewAutomaticDimension;self.tableView.estimatedRowHeight=152.0;self.tableView.estimatedSectionHeaderHeight=50.0;每当fetchedresultscontroller更新它的数据时,tableview就会重新加载:-(void)contro

ios - 如果在 IB 中使用自动布局设置 View ,如果您尝试以编程方式更改其框架,会发生什么情况?

我开始帮助的一个项目之前没有使用自动布局,我正在更新它以使用自动布局和大小类。整个应用程序中有大量的框架操作代码(例如,直接设置框架而不是更改约束常量),我想知道这会如何影响使用自动布局约束设置的View。我正在努力消除代码的帧更改部分,并将其更改为在需要时更新约束常量,但由于我还不是100%熟悉每一段代码的工作原理,所以它会有助于更好地了解自动布局和编码框架更改如何相互影响,以便如果View在运行时未正确显示,我可以更好地确定它是我设置的东西还是某个地方的一段旧代码需要被发现和更新。 最佳答案 非常简单。您只需要了解什么是自动布局

ios - 为什么 AutoLayout 不处理我的 UICollectionView

我使用UICollectionView构建了一个非常简单的应用示例(源代码在github上)。只要应用处于纵向模式,一切正常。但是,当它更改为横向模式时,内容单元格的大小不会适当调整,因此不会显示任何内容。我认为所有必要的AutoLayout约束都已到位。我知道我可以实现collectionView:layout:sizeForItemAtIndexPath:,但我的目标是尽可能多地使用AutoLayout(只是为了更好地理解AutoLayout)。我在这里错过了什么? 最佳答案 您可以使用自动布局来设置CollectionView

ios - 代码 8 : Vary for traits changing layout for all size classes

我正在尝试在xcode8.2.1上使用veryfortraits功能,但是当我使用'varyfortraits'更改一个尺寸类的布局,然后在完成时'donevarying'实际上改变了布局我的Storyboard中的每个大小类(class)。例如我尝试通过选择varyfortraits来更改ipadw:R,h:R的约束,将底部的栏变成蓝色。我进行了必要的更改并单击“完成更改”以更改约束。但是,如果我选择其他设备尺寸(例如iphone7),则调整后的约束也会应用于此尺寸类别。我该如何阻止这种情况发生?为了澄清,我在Storyboard中选择了“使用特征变体”和“使用自动布局”。

ios - 无法更改 UIButton 的大小

这看起来很简单,我不明白为什么会出错。我正在尝试从另一个的touchUpInside处理程序更改UIButton的大小。为了重现,我在Xcode中创建了一个新的(iOS6)项目,并将两个按钮拖到默认创建的xib文件中。button1的touchUpInside处理程序如下所示。如果我只包含设置button2的origin.x的语句,我会看到button2按预期移动。但是,设置按钮的size.width的语句不起作用。事实上,如果我包含该声明,原点也不会改变。我可以在xib设计器中调整按钮的大小和我设置的唯一属性(除了-(IBAction)buttonPressed:(id)sender

ios - 从 Storyboard 加载自定义 UITableViewCell

目前我正在使用Storyboard自动布局来动态调整自定义UITableViewCell的大小。除了滚动时出现内存泄漏外,一切正常。我知道问题出在电话上[self.tableViewdequeueReusableCellWithIdentifier:CellIdentifier];从里面-(CGFloat)tableView:(UITableView*)tableViewheightForRowAtIndexPath:(NSIndexPath*)indexPath我的问题是,创建引用单元格的最佳方法是什么?如何在没有dequeueReusableCellWithIdentifier的情

ios - 自动布局约束不适用于 iPhone 6 和 6 Plus

我的应用程序在iPhone5上正确显示View,但在6和6Plus上,View不会水平填满屏幕。我尝试通过Storyboard添加自动约束,但它们没有任何区别。下面是我在Storyboard中的蓝色View(和subview)以及Plus应用程序的屏幕截图。 最佳答案 我已经遇到过这个问题。这是因为边距。您只需在InterfaceBuilder中取消选中Constrainttomargin。而且您还应该直接检查约束(单击它)。 关于ios-自动布局约束不适用于iPhone6和6Plus,

iOS 宽高比约束在 iOS7 上失效,适用于 iOS8

在我的应用程序中,我设置了UIView的约束,其高度是使用宽高比约束从其宽度计算得出的。它在iOS8上完美适用于各种设备屏幕尺寸(3.5、4、4.7、5.5),但它会导致应用程序在每台iOS7设备上崩溃。我假设这是宽高比约束,因为如果我用固定高度约束替换它,它就不会再崩溃(显然它在某些设备上看起来很糟糕)。堆栈跟踪非常长,所以我只复制其中的一部分。预先感谢您的帮助!Objective:{objective0x7f9d90da33c0:+*0x7f9d90c06220.marker{id:592}+*0x7f9d90c24420.marker{id:599}+*0x7f9d90c2565

ios - 带有 UISegmentedControl AutoLayout 的 UIToolbar(/全宽)

我有一个UIViewController,在UINavigationBar下方有一个UIToolBar,在其下方有一个UITableView。我的UIToolBar上唯一的UIBarButtonItem是一个UISegmentedControl,如下面的屏幕截图所示:但是,如何让UISegmentedControl/UIBarButtonItem像在AppStore应用程序中那样拉伸(stretch)以填充UIToolBar?请记住,我还支持横向模式,因此它必须在设备旋转时自动拉伸(stretch)以适应新的宽度。这是我希望通过AutoLayout实现的,但据我所知我不能在UITool

ios - 使用自动布局的基于百分比的边距

我试图根据父View的宽度放置我的subview的左边距。这听起来很简单,但我不知道如何使用自动布局来做到这一点。从逻辑上讲,我只需要将左边距值设置为父级宽度的特定百分比值,但目前,我无法将该逻辑转换为自动布局。这是我目前的代码:varview=UIView();view.backgroundColor=UIColor.redColor();view.frame=CGRectMake(0,0,320,400);varsview=UIView();sview.setTranslatesAutoresizingMaskIntoConstraints(false);sview.backgro