Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Autolayout抱怨UIImageView的前导/尾随空间不足_Ios_Objective C_Swift_Storyboard - Fatal编程技术网

Ios Autolayout抱怨UIImageView的前导/尾随空间不足

Ios Autolayout抱怨UIImageView的前导/尾随空间不足,ios,objective-c,swift,storyboard,Ios,Objective C,Swift,Storyboard,我在故事板中有一个UICollectionViewCell,里面有一个UIImageView UICollectionViewCell大小为宽度:189,高度:239。ImageView具有以下约束: Trailing Space to cell = 31 Leading Space to cell = 31 Bottom Space to cell = 25 Top Space to cell = 31 我在运行时收到以下错误: 2014-11-28 19:53:33.934 AppNam

我在故事板中有一个UICollectionViewCell,里面有一个UIImageView

UICollectionViewCell大小为宽度:189,高度:239。ImageView具有以下约束:

Trailing Space to cell = 31
Leading Space to cell = 31
Bottom Space to cell =  25
Top Space to cell = 31
我在运行时收到以下错误:

2014-11-28 19:53:33.934 AppName[1585:35698]无法访问 同时满足约束条件。可能至少有一个 下面列表中的约束是您不想要的约束。试试这个:(1) 看看每一个约束,试着找出你不期望的; (2) 查找添加不需要的约束的代码 把它修好。(注意:如果您看到 NSAutoresizingMaskLayoutConstraints如果您不了解,请参阅 指向UIView属性的文档 翻译自动调整大小(从皮肤到肌肉)(

“”,
"",
"" )
将尝试通过打破约束进行恢复 NSLayoutConstraint:0x7fa4a0d75220 H:[UIImageView:0x7fa4a0d743e0]-(31)-|(名称: “|”:UIView:0x7fa4a0d73d40)>

在UIViewAlertForUnsatifiableConstraints处创建符号断点 要在调试器中捕获此信息。研究方法 中列出的UIView上的UIConstraintBasedLayoutDebugging类别 也可能有帮助


我尝试了各种方法(尝试了偶数/奇数)更改前导/尾随值,但没有成功。这是什么原因造成的?

这是iOS 8中的一个已知错误(请参阅本文)。单元的大小与您在故事板中设置的大小相同,但单元内容视图的大小保持在50x50,这就是为什么会出现约束错误。可以通过在cellForItemAtIndexPath中创建单元格后添加此行来修复此问题:

cell.contentView.frame = cell.bounds

这是iOS 8中的一个已知错误(请参阅本文)。单元的大小与您在故事板中设置的大小相同,但单元内容视图的大小保持在50x50,这就是为什么会出现约束错误。可以通过在cellForItemAtIndexPath中创建单元格后添加此行来修复此问题:

cell.contentView.frame = cell.bounds

它是否向您显示约束列表并告诉您它试图打破哪一个约束?如果是这样,请发布该信息。更新后的问题,stackoverflow的格式设置导致某些文本不出现。最后一个约束是,视图UIView:0x7fa4a0d73d40(可能是您的单元格)的宽度为50。您在集合视图的数据源中返回的单元格大小是多少?奇怪的是,我没有在任何数据源方法中修改单元格的大小,我只在情节提要中设置了单元格的宽度/高度。我使用
self.collectionViewController.view.frame=CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)
将collectionView添加到VC中,如果这会产生影响的话。我只实现
func collectionView(collectionView:UICollectionView,cellForItemAtIndexPath:NSIndexPath)->UICollectionViewCell{func collectionView(collectionView:UICollectionView,numberOfItemsInSection节:Int)->Int{func collectionView(collectionView:UICollectionView,didSelectItemAtIndexPath indexPath:NSIndexPath){
它是否向您显示约束列表并告诉您它试图打破哪一个约束?如果是,请发布该信息。更新的问题,stackoverflow的格式导致某些文本未出现。最后的约束是,视图UIView:0x7fa4a0d73d40(可能是您的单元格)的宽度为50。您返回的f大小是多少或者集合视图数据源中的单元格?奇怪的是,我没有在任何数据源方法中修改单元格的大小,我只在情节提要中设置了单元格的宽度/高度。我使用
self.collectionViewController.view.frame=CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)将集合视图添加到VC中
如果这有区别的话。我只实现
func collectionView(collectionView:UICollectionView,cellForItemAtIndexPath indexPath:NSIndexPath)->UICollectionViewCell{func collectionView(collectionView:UICollectionView,NumberOfItemsSection:Int)->Int{func collectionView(collectionView:UICollectionView,didSelectItemAtIndexPath indexPath:NSIndexPath){
谢谢,值得注意的是,尽管运行了iOS8.1.1,但这在iOS 9.3.4中仍然存在。谢谢,值得注意的是,尽管运行了iOS8.1.1,这在iOS 9.3.4中仍然存在