我有一个带有UICollectionViewFlowLayout的简单UICollectionView,它使用autolayout来允许自定义单元格.在静态布局中,事情很有效,但是当我插入或删除单元格时,单元格会调整为估计的大小:
[self.collectionView performBatchUpdates:^{
[self.collectionView insertItemsAtIndexPaths:@[indexPath]];
} completion:nil];
Run Code Online (Sandbox Code Playgroud)
除了设置估计的大小,像这样:
layout.estimatedItemSize = CGSizeMake(88.0, 88.0);
Run Code Online (Sandbox Code Playgroud)
我在集合视图中没有做任何奇特的事情.一切都是使用故事板设置的.
我怎样才能避免这种大小调整?我只针对iOS 8.0及以上,因此应该支持它.

在WWDC 2012(掌握自动布局的最佳实践)的演讲中,演示者表示您可以在Xcode中设置UIView标识符以帮助调试自动布局:

这似乎是一个非常好的主意,但在我的iOS项目的Xcode 4.5.1中,我无法看到设置UIView的身份.

如何在Xcode 4.5.1中设置UIView的标识?如果在iOS项目中无法做到这一点,我该如何获得相同的功能?
我终于开始与Auto Layout进行摔跤,似乎无法弄清楚如何从右到左(RTL)支持以我期望/想要的方式工作......
我在Interface Builder中设计了如下所示的视图:

使用英语时,生成的应用程序按预期运行:

但是,当切换到RTL语言(在这种情况下是阿拉伯语)时,整个视图翻转(这很好),但是UILabel文本仍然是左对齐的.我希望它是正确的对齐,以保持它对抗UIImageView.

很明显,我遗漏了一些东西和/或这不属于自动布局.
我应该textAlignment在使用RTL语言时手动设置吗?
虽然有很多关于构建故事板布局的问题和答案,它可以在4"和3.5"屏幕尺寸上工作,但我找不到适合以下场景的解决方案.
我使用autolayout和ios6(和ios7),我不需要支持landscpae或ipad.我有一个带有几个子视图的UIView,它们必须看作下面的模型.可以轻松地在故事板中设置自动布局约束以适应任一屏幕尺寸.我的问题是 - 如何根据运行时的屏幕大小使autolayout选择正确的约束?

请注意,我不想使用2个不同的故事板.在我的整个应用程序中这样做将需要做很多工作,而且我必须在每个故事板上连接所有代理,出口和操作.屏幕上的变化需要我做两倍的工作.
我已经尝试了两种方法在一个故事板上完成这项工作,但我对其中任何一个都不满意.

如果只有界面构建器约束具有将在屏幕大小为3.5"时应用的辅助常量值,那么它将解决我的问题.所以我仍然问我的问题 - 如何正确使用单个故事板来正确布局其子视图屏幕尺寸为4"和3.5"?
我有一个与XCode 5和iOS 7一起工作得很好的项目,但是当我最近下载XCode 6时,我注意到autolayout出现了一些奇怪的行为.
我有一个故事板,其视图只有一个UIImageView和两个UILabel.使用UiPageViewController加载此视图.UIImageView在视图中水平和垂直居中,并且存在约束,指定两个标签与图像视图的距离.当故事板和自动布局值发生冲突时(例如,在故事板中,一个标签在图像视图上方20个像素但自动布局显示它应该在40像素以上),过去的自动布局值是在加载视图之前成功应用.因此,当视图第一次显示时,一切都在正确的位置.
现在使用iOS 8/XCode 6,我看到视图加载然后事情跳转到他们的最终自动布局位置.在模拟器和真实设备上,这种跳转对于最终用户来说是显而易见的,而且它真的很烦人.有没有办法回到过去的行为?据我所知,没有代码更改导致此问题.
我想让AutoLayout UIScrollView与它一起工作,并且我遇到了一些麻烦.这是我做的:
UIScrollView在主视图内添加框架:[top:0,left:0,width:320,height:568]
UIView在UIScrollViewwith frame和bgcolor black中添加"ContentView" :[top:0,left:0,width:320,height:568]
设置UIScrollView约束:[top:0,bottom:0,left:0,right:0]
设置"ContentView"约束:[top:0,bottom:0,left:0,right:0]
对齐"ContentView"中的项目
将主视图bgcolor设置为灰色(查看发生了什么)
以下是问题的屏幕截图:http://imgur.com/P8s9lB0
由于某种原因,约束使内容视图位于屏幕的中间.此外,它向各个方向滚动.我希望内容只能在垂直方向上滚动UITableView,所以我不能这样移动:http://imgur.com/lBCwfAS
我究竟做错了什么?我已经检查了StackOverflow和Google中可以找到的所有教程和答案,并且没有人真正有一个奇怪的问题,所以我正在寻求帮助.
编辑:我还添加了ContentView的宽度和高度作为约束,这也没有帮助.
我有一个UITextView不可滚动,界面构建器设置自动布局,文本动态增加或减少没有问题,但我想知道设置文本后新的UITextView高度是什么,我试图这样做:
NSLog(@"text before: %.2f",self.myText.frame.size.height);
[self.myText setText:self.string];
NSLog(@"text after: %.2f",self.myText.frame.size.height);
Run Code Online (Sandbox Code Playgroud)
这是结果:
text before: 47.50
text after: 47.50
Run Code Online (Sandbox Code Playgroud)
当我运行它时,视图中的文本会增加,但是大小是一样的,如何在设置文本后获得真正的高度?
我对Xcode中的Auto布局约束不熟悉.我有一个像UITabBar6的底部视图UIButtons.在没有约束的情况下,我将这些按钮与每个按钮的5个空格填充对齐,每个按钮的宽度为50.现在,我试图通过使用自动布局来支持所有屏幕尺寸.
在Storyboard约束中,我为6个按钮设置了相等的宽度,每个按钮之间有60个空格.我将第一个按钮0设置为前导空格,然后将最后一个按钮0设置为尾部约束.
我想要buttons with equal width and flexible spaces所有设备尺寸的视图之间.
有人可以帮我吗?寻求帮助.提前致谢.
我有一个UIStackView,里面UIScrollView显示水平排列的动态添加的子视图.当前的解决方案将开始显示左侧的项目,我想开始从中心分配项目而不更改子视图的宽度和高度.我怎么做?我也对不使用的解决方案持开放态度UIStackView.这样我就可以支持设备<iOS9.
(当前)
(预期)
autolayout ×10
ios ×10
objective-c ×2
swift ×2
uiscrollview ×2
xcode ×2
ios8 ×1
ios9 ×1
iphone ×1
uistackview ×1
uitextview ×1
xcode4.5 ×1
xcode6 ×1