在swift中选择后,UITableViewCell布局错误

时间:2015-01-05 13:57:43

标签: image uitableview swift alamofire

我尝试使用默认的tableview单元创建tableview。每个单元格都有imageView和title。从服务器异步加载的映像。我为此目的使用Alamofire框架。

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let CellID: NSString = "Cell"
        let cell = UITableViewCell(style:  UITableViewCellStyle.Default, reuseIdentifier: CellID)

        cell.textLabel!.text = "test #\(indexPath.row)"
        var imageURL = repArray[indexPath.row]["image"]!!

        cell.imageView!.image = UIImage(named: "recept")

        Alamofire.request(.GET, imageURL).response() {
            (_, _, data, _) in

            let image = UIImage(data: data! as NSData)
            dispatch_async(dispatch_get_main_queue(), {
                if let cellToUpdate = tableView.cellForRowAtIndexPath(indexPath) {
                    cellToUpdate.imageView!.image = image
                }
            })

        }

        return cell
    }

但是当我选择任何tableview单元格时,imageview的大小会发生变化。

Before selection After selection

为什么会这样?

1 个答案:

答案 0 :(得分:0)

您有tableView:didSelectRowAtIndexPathtableView:willSelectRowAtIndexPath方法吗?如果你这样做,你能展示一下它的样子吗?看起来这就是您更改单元格布局的部分。