Tag: 布局

禁用Xcode Storyboard中的约束

我正在尝试布置一个非常简单的视图。 我已经在视图中放置了4个自定义button,如间距。 但是当我运行应用程序,我得到两个不同大小的button。 我在这里包含了故事板和模拟器的图片。 我会喜欢禁用约束,但不能find在哪里做到这一点! 我真的不想要他们。 这只是一个简单的原型应用程序,最后我甚至不会有这些button,我会把所有东西放在代码中。 我已经尝试拖动4个单独的button,并试图拖动一个,并将其复制到我想要的地方。 我只是希望他们留在我把他们放在哪里! 任何帮助,将不胜感激。 -标记

自动布局尺寸类别 – 不同的比例高度

我需要将子视图的高度设置为与其父级成比例。 在iPad上,我需要它是高度的三分之一,而在iPhone上我需要它的一半。 在“AnyAny”大小类中,创build约束并将乘数设置为0.3333333。 这就是它应该在iPad上。 当我把大小类改为“CompactRegular”时,我把约束的乘数改为0.5。 虽然这使得它在iPhones一半,它也适用于iPad。 我怎样才能使尺寸类别有不同的倍数?

如何使用自动布局更改uiview的高度?

所以我创build了这个场景,以便了解视图是如何根据内容增加高度的。 但是,我仍然无法做到这一点。 这是我现在所拥有的: textview根据内容不断增长。 但是包含它的uiview正在消失。 我应该使用什么约束,以便当uitextview变大时,其父视图的高度也会增加?

根据大小等级更改约束的乘数

是否有可能给一个约束不同的乘数取决于当前的大小类? 我有一个观点,我希望是普通尺寸类宽度的屏幕尺寸的一半,我希望它是紧凑尺寸类宽度的屏幕尺寸的80%。 在故事板中,我可以select将不同大小类的不同variables添加到约束常数值,但不是乘数值。 这是一个相等的宽度约束,以防万一。 我并没有在编程上添加约束,所以我希望他们可能是一个解决scheme,躺在那条路上。 任何人都可以告诉我,如果有可能做我想通过故事板或编程方式?

使用AutoLayout与Storyboard(不带XIB)的UICollectionViewCell的宽度和高度可变

以下是使用AutoLayout,UICollectionView和UICollectionViewCell的应用程序中的一个devise问题,该问题根据AutoLayout约束及其内容(某些文本)自动调整宽度和高度。 这是一个UITableView列表,每个单元格都有自己的宽度和高度,根据其内容分别针对每一行进行计算。 它更像是在应用程序(或WhatsUp)中构build的iOS消息。 很显然,应用程序应该使用func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize 。 问题是,在该方法,应用程序无法调用func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell也dequeueReusableCellWithReuseIdentifier(identifier: String, forIndexPath indexPath: NSIndexPath!) -> AnyObject实例化单元格,填充特定的内容并计算其宽度和高度。 试图这样做会导致无限recursion调用或其他types的应用程序崩溃(至less在iOS 8.3中)。 解决这种情况的最接近的方法似乎是将单元格的定义复制到视图层次结构中,以使自动布局自动调整“单元格”(如单元格具有与父集合视图相同的宽度),所以应用程序可以configuration具有特定内容的单元格,计算其大小。 这肯定不是解决它的唯一方法,因为资源重复。 所有这一切都与设置UILabel.preferredMaxLayoutWidth到一些值应该是自动布局可控(非硬编码),可能取决于屏幕宽度和高度,或至less由自动布局约束定义设置,所以应用程序可以得到多行UILabel内在大小计算。 我不想从XIB文件中实例化单元格,因为Storyboards应该是当今的行业标准,而且我希望对代码有更less的干预。 编辑: 下面列出了不能运行的基本代码。 所以只有实例化variablescellProbe(未使用)崩溃的应用程序。 没有这个电话,应用程序运行顺利。 var onceToken: dispatch_once_t = 0 class ViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout { override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: […]

自动布局问题:iOS 7 vs iOS8

我正在尝试创build一个像这样工作的可折叠工具栏(在iOS 7中运行 – 用于可视化目的的丑陋颜色等): 但是,当我在iOS 8中运行代码时,会发生以下情况: 我已经build立了一个基于以下的约束系统: centering view (未示出)将工具栏保持在屏幕中间。 sizing view以折叠工具栏。 sizing view锚定在对中centering view的右侧(通过trailing约束)。 container view保存工具栏的实际内容。 它固定在sizing view的右侧(也通过trailing约束)。 容器content views中包含各种content views container view 。 他们没有任何限制。 系统应用的默认约束应该是宽度,高度,顶部,左边,这确保了它们在container view中的相对位置。 工具栏的折叠实现如下: – (IBAction)showLess:(id)sender { self.widthConstraint.constant = 50; // adjust this number for collapse / expand [UIView animateWithDuration:0.3 animations:^{ [self.centeringView layoutIfNeeded]; // trigger animation }]; } 其中调整sizing view的宽度。 […]

什么是默认的自动布局内容拥抱和内容压缩阻力优先级值?

我试图debugging自动布局问题,并知道内容拥抱和内容压缩阻力优先级的默认值将有所帮助。 他们是什么? 它们是特定于特定组件吗? 有什么常数我可以用来引用他们? 关键字:UILayoutPriority

UICollectionView – iOS 10 – iPhone 6 Plus模拟器崩溃,但适用于真实设备

我已经创build了一个UICollectionView,可以在模拟器和真实设备上的iPhone 5s / SE / 6 / 6s / 7等小设备上正常工作,但是对于iPhone 6Plus,iPhone 7Plus和任何iPad版本,我有一个奇怪的情况。 它在真实的设备上工作正常,但它在模拟器崩溃,出现以下错误: 在 – [_ UIFlowLayoutSection computeLayoutInRect:forSection:invalidating:invalidationContext:] /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3600.5.2/UlowLayoutSupport.m:823 终止应用程序,由于未捕获的exception'NSInternalInconsistencyException',原因:'UICollectionViewFlowLayout内部错误' 我到目前为止发现的是,如果我删除estimatedItemSize它工作正常,但自动布局不再,但如果我有启用它在模拟器崩溃。 我正在使用最新的Xcode版本和iOS 10。 任何想法,为什么它崩溃?

以编程方式从XIB调整自定义UIView的大小

我有以下问题:我在XIB文件中创build了一个自定义的UIView类和它的布局。 假设我在XIB中的自定义视图的大小是150 x 50。我已经启用了sizeClasses (wAny hAny)和AutoLayout 。 在模拟度量标准中,我设置了Size = Freeform , Status Bar = None , other = Inferred 。 我的自定义UIView类的代码如下所示: #import "CustomView.h" @implementation CustomView #pragma mark – Object lifecycle – (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { [self setup]; } return self; } – (id)initWithCoder:(NSCoder *)aDecoder { self = [super initWithCoder:aDecoder]; if […]

UITableViewCell +dynamic高度+自动布局

我来自这个伟大的答案: 在UITableView中使用自动布局来实现dynamic单元格布局和可变行高 我已经实现了这个答案中描述的东西,但是我面对一个不同的场景。 我没有一个UILabel但我有一个dynamic的UILabel列表。 我创build了一个图像,显示了表视图应该看起来的一些不同情况: 在repo的当前状态下,单元格不会垂直增长以适合单元格的contentView 。 UPDATE REPO: https : //github.com/socksz/DynamicHeightCellAutoLayout 如果您试图从回购项目中获得项目并运行它,您可以确切地看到我所指的是什么问题。 我不能得到让它工作的缺失。