ios - 更改 UITableViewCell 中 UIImageView 的大小

标签 ios swift

我是 Swift 和 Xcode 的新手。

是否有任何干净的方法来更改放置在 UITableViewCell 中的 UIImageView 大小?

这是我的 TableView,我想正确对齐左标签 enter image description here

最佳答案

替换

cell.imageView!.image = image

cell.imageView?.image = image.scaleImage(toSize: CGSize(width: 40, height: 40))

将此 UIImageView 扩展添加到项目中。

extension UIImage {
    func scaleImage(toSize newSize: CGSize) -> UIImage? {
        var newImage: UIImage?
        let newRect = CGRect(x: 0, y: 0, width: newSize.width, height: newSize.height).integral
        UIGraphicsBeginImageContextWithOptions(newSize, false, 0)
        if let context = UIGraphicsGetCurrentContext(), let cgImage = self.cgImage {
            context.interpolationQuality = .high
            let flipVertical = CGAffineTransform(a: 1, b: 0, c: 0, d: -1, tx: 0, ty: newSize.height)
            context.concatenate(flipVertical)
            context.draw(cgImage, in: newRect)
            if let img = context.makeImage() {
                newImage = UIImage(cgImage: img)
            }
            UIGraphicsEndImageContext()
        }
        return newImage
    }
}

原因 您的代码中的错误是 UITableViewCell 正在根据其中的图像大小为 UIImageView 分配各种大小。此外,我已将图像调整为特定大小,使其适合 UITableViewCell 中的 imageView 内容。

注意: 请不要发布代码的屏幕截图,因为它不会帮助其他人从问题中复制它并且也会吸引 -ve 投票。但是,您可以发布 XIB、 Storyboard和模拟错误的屏幕截图。

关于ios - 更改 UITableViewCell 中 UIImageView 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53412743/

相关文章:

swift 3 : Type error of generic delegate type with concrete consumer type

ios - 使用 Swift 3 在 iOS 中替代 Android ViewPager

ios - 解析 : User and error both nil with logInInBackgroundWithReadPermissions()

ios - 如何在 UITableView 中填充标题单元格

swift - 方法中使用的协议(protocol)静态变量

swift - 实例化的可选变量在Xcode调试器中显示为nil

ios - 用于扩展非泛型类型的尾随 where 子句

ios - 使用搜索栏后返回导航栏时模拟器黑屏

ios - SceneKit 中的阴影

xcode - Swift 中的引用类型 - 对函数/闭包的引用