Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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 UIImageView将不会调整为具有约束的单元格大小_Ios_Objective C_Xcode - Fatal编程技术网

Ios UIImageView将不会调整为具有约束的单元格大小

Ios UIImageView将不会调整为具有约束的单元格大小,ios,objective-c,xcode,Ios,Objective C,Xcode,我完全迷失在这个自动布局中。 我需要设置屏幕大小的集合视图、屏幕宽度的单元格和动态高度 我有一个屏幕大小的UICollectionView。 我在故事板中创建了一个单元格。单元格的高度是动态高度,在运行过程中随以下参数变化: - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout size

我完全迷失在这个自动布局中。 我需要设置屏幕大小的集合视图、屏幕宽度的单元格和动态高度

我有一个屏幕大小的
UICollectionView
。 我在故事板中创建了一个单元格。单元格的高度是动态高度,在运行过程中随以下参数变化:

- (CGSize)collectionView:(UICollectionView *)collectionView
                  layout:(UICollectionViewLayout*)collectionViewLayout
  sizeForItemAtIndexPath:(NSIndexPath *)indexPath
单元格的超级视图(集合视图)约束有尾随和前导空间,我得到了预期的大小——屏幕宽度(尽管可能我做错了什么)

在该单元格中有一个
UIImageView
(选中了
clipped子视图)。我想做的是将这个图像视图的宽度设置为单元格的宽度,并将其高度设置为动态

所以,我设置了图像高度约束,我在代码中更改了它。它工作得很好。 图像视图已从顶部、左侧和右侧固定到单元格。

实际发生的是,在模拟器中,一切都准备就绪,运行良好。 在设备中,图像视图小于单元大小(单元的屏幕大小正确),因此图像视图从(0,0)开始,如预期的那样,具有正确的高度,但宽度-不在单元大小中,而是更小。(2/3)

编辑: 哇!我发现了一些非常令人惊讶的事情。如果我从图像视图中删除单元格的尾随空间,它将在设备上工作,而不是在模拟器上。若我把它加回去,它在模拟器上工作,而不是在设备上。 那是什么


我这里缺少什么?

我唯一的解决方案是为图像视图的宽度设置一个约束,并设置其出口,并在运行时对其进行更改

我仍然不知道为什么当单元格改变大小时,和它对齐的图像视图也没有改变。 我有一个想法,它在模拟器中工作,但在设备上不工作,因为在模拟器中,单元大小在运行时之前已知,而在设备上则不知道


因此,为您拥有的每个动态视图设置“约束宽度/高度”。它解决了许多问题,给了你们自由。

我真的很想知道这个问题有什么不好,但我努力工作,找到了解决办法。希望其他人能从中吸取教训,希望落选的选民能过上幸福的生活,热爱自己。