Pak*_*ung 3 size cell uitableview imageview swift
是否可以将所有图像设置为相同的尺寸?我试过使用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
}
Run Code Online (Sandbox Code Playgroud)
Ale*_*kov 11
cell.imageView
使用时无法更改字段的属性,UITableViewCell
因为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,0,40,40)
self.imageView?.contentMode = UIViewContentMode.ScaleAspectFit
// Costomize other elements
self.textLabel?.frame = CGRectMake(60, 0, self.frame.width - 45, 20)
self.detailTextLabel?.frame = CGRectMake(60, 20, self.frame.width - 45, 15)
}
}
Run Code Online (Sandbox Code Playgroud)
在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
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8006 次 |
最近记录: |