所以我通过使用常规图像视图和按钮来实现这一点:
但是现在我希望它随着用户滚动而反弹,关于如何实现这一目标的任何想法?我尝试过使用表格视图,但我无法弄清楚如何将图像作为背景。使用表格视图和我使用的当前方法之间的任何好处?这对我来说是一次学习经历,而这正是项目的重点。任何帮助将不胜感激,提前谢谢。
答案 0 :(得分:0)
以下是实现目标的一种方法(相应地更改图像名称):
cell.contentView.backgroundColor = UIColor(patternImage: UIImage(named: "NewYork")!)
例如:
override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
switch indexPath.row{
case 0:
cell.contentView.backgroundColor = UIColor(patternImage: UIImage(named: "NewYork")!)
case 1:
cell.contentView.backgroundColor = UIColor(patternImage: UIImage(named: "LA")!)
case 2:
cell.contentView.backgroundColor = UIColor(patternImage: UIImage(named: "Miami")!)
default:
cell.contentView.backgroundColor = UIColor(patternImage: UIImage(named: "default")!)
}
}
你也可以用同样的方式在cellForRowAtIndexPath
内设置它。
这样做的缺点是图像要么需要重复图案,要么完全适合单元尺寸,对于不同尺寸的设备来说,这种图像不是很灵活。
另一种选择是使用自定义表格单元格并创建与单元格大小相同的UIImageView。 Here is a tutorial link描述了如何创建自定义单元格。现在,您只需在cellForRowAtIndexPath
中设置与此类似的图像:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("MyCustomCell", forIndexPath: indexPath) as! CustomTableViewCell
switch indexPath.row{
case 0:
cell.img_Thumbnail?.image = UIImage(named: "NewYork")
case 1:
cell.img_Thumbnail?.image = UIImage(named: "LA")
case 2:
cell.img_Thumbnail?.image = UIImage(named: "Miami")
default:
cell.img_Thumbnail?.image = UIImage(named: "default")
}
return cell
}