如何在Swift中避免UITableViewController的UIImageView中的图像大小更改

希特勒

我正在使用UITableViewController来显示扑克牌行。我已将“模式”设置为“适合宽高比”,并检查了情节提要中“剪辑子视图”中每一行单元格,其ContentView父级以及包含ContentView的单元格中的ImageView。

最初显示该表时,一切看起来都与预期的一样,但是,当我滑动浏览表时,滚动到视图中的一些(不是全部)新行的图像缩放到错误的大小,如图所示。

某些行中的图像最终比预期的要小

看来,如果我快速拖动,则会得到更多错误尺寸的行。如果我缓慢拖动,则所有新行都将适当缩放。当我使用其他仿真器时,不正确的缩放比例会使某些图像太大而不是太小,因此整行卡都无法容纳在显示器中。

某些行的图像太大而无法容纳

在代码中,我设置了contentMode和clipToBounds,但是它们似乎没有帮助:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("LineCell", forIndexPath: indexPath)

    let index = indexPath.row % 4
    let imagename = "cards\(index)"
    let im = UIImage(named: imagename)

    cell.contentMode = UIViewContentMode.ScaleAspectFit
    cell.clipsToBounds = true
    cell.contentView.contentMode = UIViewContentMode.ScaleAspectFit
    cell.contentView.clipsToBounds = true
    cell.imageView?.contentMode = UIViewContentMode.ScaleAspectFit
    cell.imageView?.clipsToBounds = true
    cell.imageView?.image = im

    return cell
}

我错过了明显的事情吗?谢谢!

希特勒

我最终以编程方式解决了这个问题。

    let cellImage : UIImageView = UIImageView(frame: CGRectMake(0, 0, cell.bounds.size.width, cell.bounds.size.height))
    cellImage.contentMode = UIViewContentMode.ScaleAspectFit
    cellImage.clipsToBounds = true
    cellImage.image = im
    cell.addSubview(cellImage)

我仍然想找到一种通过Storyboard进行操作的方法,我记得该方法以前一直以简单的方式工作...早在Apple推出各种形状和尺寸的设备之前,它们就需要提供越来越复杂的方法在半自动的,基于约束的系统中容纳所有大小,即使是最简单的任务,也需要相当多的开销。但是,到目前为止,这是可行的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Swift中使用UISlider更改UIImageView中的图像

如何在Swift中更改UIButton图像

如何查找UIImageView swift中显示的图像

如何在Swift中的UIPickerView中更改字体大小?

如何在Pygame中更改图像大小?

如何在EditText中更改图像大小?

如何在MFC中更改VIEW大小以适合输入图像?

如何在jssor滑块中更改图像大小?

如何在C ++,SDL中更改图像大小

如何在Swift 3中根据UIImage的大小/比例调整UIImageView的大小?

我如何检测 Swift iOS 中 UIImageView 中的更改图像

Swift如何在StackView中调整图像大小

如何在Swift中获取图像文件的大小?

在Swift 3中更改UIBarButtonItem(图像)的大小

如何在 UICollection UIImageView 中更改 UImage?

如何在Swift中更改UILabel的字体大小?

如何在Swift中以编程方式更改UICollectionViewCell大小?

如何在iOS 8 Swift中更改按钮文本大小

在 UIStackView 中更改 UIImageView 的图像

如何在 traitCollectionDidChange 的视图控制器中更改 UIImageView 图像

如何在Swift中更改IBAction UIButton的图像?

如何更改ImageField中图像的大小?

如何在Swift 3中从文档目录到UIImageView显示图像?

如何在iOS中的UIImageView中在圆圈内裁剪图像

如何在Swift中为绘图动画,还可以更改UIImageView的比例?

如何在Swift中避免内存碎片

如何在navigationItem.titleView中调整UIImageView的大小

如何在 FabricJS 中调整图像大小?

如何在ImageDataGenerator中调整图像大小