在tableViewController中填充图像

时间:2015-05-13 18:02:01

标签: ios xcode uitableview swift

我正在尝试开发一个使用Swift编程在Xcode中使用tableView的应用程序。我已经完成了在tableView中显示图像但图像不是全尺寸。图像仍未覆盖细胞区域。

如何使图像全尺寸?

我正在使用Xcode 6并使用Swift编程。

以下是代码示例。

class FoodListTableViewController: UITableViewController {

    var food:AnyObject?

    override func viewDidLoad() {
        super.viewDidLoad()


        let path = NSBundle.mainBundle().pathForResource("food", ofType: "plist")
        let food2 = NSArray(contentsOfFile:path!)

        food = food2!   
    }

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return food!.count
    }


    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("cellfood", forIndexPath: indexPath) as! UITableViewCell

        var imageName = UIImage(named: food![indexPath.row].objectForKey("gambar")! as! String)
        cell.imageView!.image = imageName

        return cell
    }

这是我拍摄的屏幕截图...

http://104.223.3.210/namia/hm/Screen%20Shot%202015-05-14%20at%202.02.47%20AM.png

2 个答案:

答案 0 :(得分:1)

检查以下代码可能会有所帮助。

cell.imageView.autoresizingMask = UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleRightMargin | UIViewAutoresizing.FlexibleLeftMargin | UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleWidth
cell.imageView.contentMode = UIViewContentMode.ScaleAspectFit

答案 1 :(得分:0)

在当前版本中,默认值为15像素。

对于您的查询,可以进行两种解决方法

  1. 如果您使用的是故事板,请转到故事板 - >选择您的视图控制器 - >打开"属性检查员"在右边 - >选择"分隔符InSet" - >将其自定义更改为默认值,并在"左和#34;中给出0而不是15字段。

  2. 如果以上操作不起作用,请创建一个UITableViewCell的自定义单元子类,并在其中添加一个UIImageView,它将从单元格的零位置开始。

  3. 注意:如果您没有使用自定义单元格,请删除单元格初始化代码并使用此代码 - let cell : UITableViewCell = UITableViewCell(style:UITableViewCellStyle.Subtitle, reuseIdentifier:"cellfood")