Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.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 UITableview单元上所有设备的图像大小相同_Ios_Image Size - Fatal编程技术网

Ios UITableview单元上所有设备的图像大小相同

Ios UITableview单元上所有设备的图像大小相同,ios,image-size,Ios,Image Size,我在tableview中有静态单元格。在它们中,我有一个左边大小的图像视图和一个右边的标签。我还使用了自动布局。我的问题是: 所有设备的图像大小看起来都相同。这意味着如果iphone 5s的图像大小为50 X 50,那么iphone 6plus的图像大小应为100 X 100。但它只显示50 X 50。您在该单元格中使用了哪些约束?如果使用50的高度约束,则图像将始终为50 您可能希望图像为每个设备的特定大小(即相应的50、70和100)。一种方法是使图像与单元格的顶部、底部和左侧保持一定距离,

我在tableview中有静态单元格。在它们中,我有一个左边大小的图像视图和一个右边的标签。我还使用了自动布局。我的问题是:


所有设备的图像大小看起来都相同。这意味着如果iphone 5s的图像大小为50 X 50,那么iphone 6plus的图像大小应为100 X 100。但它只显示50 X 50。

您在该单元格中使用了哪些约束?如果使用50的高度约束,则图像将始终为50

您可能希望图像为每个设备的特定大小(即相应的50、70和100)。一种方法是使图像与单元格的顶部、底部和左侧保持一定距离,并为其指定特定的纵横比

然后使用tableView委托方法确定单元格的大小

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

//if iphone 5 return x (e.g 50)
//if iphone 6 plus return y (e.g 100)

}

通过这种方式,您可以更改单元格大小(我猜,如果图像越来越大,您的图像就需要越来越小),并且您的图像会使用上述约束自动调整大小

您在该单元格中使用的约束是什么?如果使用50的高度约束,则图像将始终为50

您可能希望图像为每个设备的特定大小(即相应的50、70和100)。一种方法是使图像与单元格的顶部、底部和左侧保持一定距离,并为其指定特定的纵横比

然后使用tableView委托方法确定单元格的大小

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

//if iphone 5 return x (e.g 50)
//if iphone 6 plus return y (e.g 100)

}

通过这种方式,你可以改变你的单元格大小(我猜如果你的图像越来越大,你就需要越来越小),并且你的图像会根据上面提到的限制自动调整大小

如果你将imageView的大小设置为50x50,那么iPhone上会显示50x50。你可以想象一下,视网膜屏幕上有1倍、2倍和3倍的图像。它不会改变图像视图的大小,只是看起来不错。有关更多信息,请阅读此答案


但是,如果您想在较大的设备(如iPhone plus)中更改图像视图的大小,则必须使用size类,在该类中,您可以根据屏幕大小或方向配置、删除或添加约束

如果将imageView大小设置为50x50,则在plus iPhone中会显示50x50。你可以想象一下,视网膜屏幕上有1倍、2倍和3倍的图像。它不会改变图像视图的大小,只是看起来不错。有关更多信息,请阅读此答案


但是,如果您想在较大的设备(如iPhone plus)中更改图像视图的大小,则必须使用size类,在该类中,您可以根据屏幕大小或方向配置、删除或添加约束

如果操作正确,所有iPhone中的50px图像将显示为50px。质量将提高,以匹配iPhone的质量,但图像大小仍应相同(假设我理解正确),其中一个选项是仅在单元格中设置尾随和前导以及上下边缘约束。是否在“资源”文件夹中添加图像?或者您是否为imageview设置了高度和宽度限制?如果设置正确,所有iPhone中的50px图像都将显示为50px。质量将提高,以匹配iPhone的质量,但图像大小仍应相同(假设我理解正确),其中一个选项是仅在单元格中设置尾随和前导以及上下边缘约束。是否在“资源”文件夹中添加图像?或者您是否为imageview设置了高度和宽度限制?这是最接近的答案。使用autolayout设置顶部、底部、尾部和前导约束,然后使用^tableView.heightForRow委托方法将允许您的imageView根据运行应用程序的设备调整大小,但是@Khalid Afridi的回答也提供了有关imageView不调整大小的重要信息!这是最接近的答案。使用autolayout设置顶部、底部、尾部和前导约束,然后使用^tableView.heightForRow委托方法将允许您的imageView根据运行应用程序的设备调整大小,但是@Khalid Afridi的回答也提供了有关imageView不调整大小的重要信息!