是否可以将所有图像设置为相同的尺寸?我试过使用cell.imageView?.frame.size.width = something.但是,它不起作用.有什么建议?谢谢.
func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle,reuseIdentifier: "Cell") cell.imageView!.layer.cornerRadius = 20 cell.imageView!.clipsToBounds = true let imageData = try! resultsImageFileArray[indexPath.row].getData() let image = UIImage(data: imageData) cell.imageView?.image = image cell.textLabel?.text = self.resultsNameArray[indexPath.row] cell.detailTextLabel?.text = self.message3Array[indexPath.row] return cell }
解决方法
使用UITableViewCell时,无法更改cell.imageView字段的属性,因为在这种情况下,imageView是只读属性.在这种情况下实现结果的最简单方法是创建UITableViewCell的子类,并使用它来自定义layoutSubviews方法中所需的内容,例如:
class CustomTableViewCell: UITableViewCell { override func awakeFromNib() { super.awakeFromNib() } override func setSelected(selected: Bool,animated: Bool) { super.setSelected(selected,animated: animated) } // Here you can customize the appearance of your cell override func layoutSubviews() { super.layoutSubviews() // Customize imageView like you need self.imageView?.frame = CGRectMake(10,40,40) self.imageView?.contentMode = UIViewContentMode.ScaleAspectFit // Costomize other elements self.textLabel?.frame = CGRectMake(60,self.frame.width - 45,20) self.detailTextLabel?.frame = CGRectMake(60,20,15) } }
在tableView(tableView:UITableView,cellForRowAtIndexPath indexPath:NSIndexPath)函数中,您只能将单元对象创建从UITableViewCell替换为CustomTableViewCell:
func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell: CustomTableViewCell = CustomTableViewCell(style: UITableViewCellStyle.Subtitle,reuseIdentifier: "Cell") cell.imageView!.layer.cornerRadius = 20 cell.imageView!.clipsToBounds = true let imageData = try! resultsImageFileArray[indexPath.row].getData() let image = UIImage(data: imageData) cell.imageView?.image = image cell.textLabel?.text = self.resultsNameArray[indexPath.row] cell.detailTextLabel?.text = self.message3Array[indexPath.row] return cell }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。