我在TableView
上创建了TableViewCell
和ViewController
。单元格将可重复使用(从数据库导入名称+照片)。 目前只显示名称单元格文字。
如何让图像显示在单元格文本(名称)上方。或者我需要创建一个单独的单元子类吗?试图做这样的事情:
在故事板中添加了ImageView(在单元格内),并为FeedCell.swift
添加了一个出口:
@IBOutlet weak var setImage: UIImageView!
添加到ViewController' ViewDidLoad
:
self.tableView.registerClass(FeedCell.self, forCellReuseIdentifier: "RestaurantCell")
更新了ViewControllers cellForRowAtIndexPath
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("RestaurantCell", forIndexPath: indexPath) as UITableViewCell
var imageSet: PFObject?{
didSet{
self.fetchImage(restaurantArray[indexPath.row] as? PFObject, completionHandler: {
(image, error) -> () in
if image != nil {
FeedCell().setImage.image = image
cell.imageView?.image = image!
cell.imageView?.image = image
cell.accessoryView = UIImageView()
}else{
//alert user: no image or put placeholder image
}
})
}
}
return cell
}
答案 0 :(得分:0)
您有一个“RestaurantCell
”,但是从您的问题中包含的故事板截图中,它看起来只是一个内容空白的完全空白的单元格。
如果您不想创建自定义UITableViewCell,则应将原型RestaurantCell
更改为同时具有居中图像和位于其下方的标签,这两者都通过具有使用它们设置的唯一标记的属性公开。然后,当设置属性时,您可以更新与标记对应的视图(例如,视图#1可能是图像,视图#2可能是名称等)。
或者,您可以简单地继承UITableViewCell,然后您就可以使用IBOutlets,与使用手动属性设置器和标签相比,它将更加清晰。
然后您可以轻松设置图像和标签文本,它应该在Munchery应用程序中显示得非常漂亮。
您可能还想包含额外的IBOutlets以设置Chef的imageView(Chef Alex是我的最爱之一)和购物车按钮(“+ Add”,我认为它与“In The Bag”交换?)。
已编辑为更具体
摆脱“FeedCell().setImage.image = image
”。这没什么好处的。
更改
let cell = tableView.dequeueReusableCellWithIdentifier("RestaurantCell", forIndexPath: indexPath) as UITableViewCell
为:
let cell = tableView.dequeueReusableCellWithIdentifier("RestaurantCell", forIndexPath: indexPath) as FeedCell
此外,FeedCell中的IBOutlet是连接到imageView
还是其他名称的出口?