2014-06-07 20 views
20

Tôi đã đọc đống câu hỏi nhưng dường như không thể tìm thấy câu trả lờiThêm một hình ảnh vào một tế bào

Tôi có một TableView nhưng không thể thêm một hình ảnh để di động của tôi

cell.imageView.image = UIImage(named: "osx_design_view_messages") 

này mã nên làm việc bởi vì tôi về cơ bản sao chép nó từ một câu trả lời cho một câu hỏi nhưng đối với một số lý do nó không hoạt động. Bất kỳ đề xuất?

Im sử dụng nhanh chóng bằng cách

override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! 
{ 
    let cellIdentifier = "cell" 

    var cell : UITableViewCell 

    cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as UITableViewCell 
    cell.textLabel.text = self.recipies[indexPath.row] 
    var image : UIImage = UIImage(named: "osx_design_view_messages") 
    return cell 
} 
+1

Bạn có thể gửi toàn bộ chức năng cellForRowAtIndexPath của bạn? – Dash

Trả lời

32

Dưới đây là một vài nguyên nhân có thể vấn đề của bạn:

nguyên mẫu
  1. Các tế bào cần bao gồm một UIImageView. Nếu bạn đang sử dụng bảng phân cảnh, hãy chọn nguyên mẫu ô và đảm bảo kiểu của nó được đặt thành "Cơ bản" trong trình kiểm tra thuộc tính (bảng bên phải).

  2. Mã nhận dạng ô không khớp với số nhận dạng được nhập cho ô mẫu của bạn trong bảng phân cảnh. Đảm bảo rằng "ô" được nhập cho "Mã định danh" cũng trong trình kiểm tra thuộc tính.

  3. Hình ảnh không tải từ tệp chính xác. Để kiểm tra điều này, thêm dòng sau sau khi khởi tạo hình ảnh của bạn:

    println("The loaded image: \(image)")

Sau khi kiểm tra tất cả mọi thứ được thiết lập trong kịch bản của bạn, hãy thử chạy nó sử dụng mã này:

override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! 
    { 
     let cellIdentifier = "cell" 

     var cell : UITableViewCell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as UITableViewCell 

     cell.textLabel.text = self.recipes[indexPath.row] 

     var image : UIImage = UIImage(named: "osx_design_view_messages") 
     println("The loaded image: \(image)") 
     cell.imageView.image = image 

     return cell 
    } 
+2

Ah Cảm ơn :), đề xuất 1 là giải pháp cho câu trả lời của tôi, Swift sẽ mất chút thời gian để sử dụng để – Johno2110

+0

làm việc tuyệt vời cho tôi! – Ronaldoh1

+0

Làm thế nào về kích thước ô để phù hợp với hình ảnh tự động hạn chế? – rambossa

2

Swift 3

// chúng tôi đang sử dụng điều này nếu hình ảnh của bạn ở máy chủ.

// chúng tôi đang tải hình ảnh từ url.

// bạn có thể đặt hình ảnh từ Xcode của mình.

// nó làm bằng gán một thẻ để IMAGExem

  1. URL của hình ảnh đang ở trong một tên mảng = thumbnail tức self.thumbnail [indexPath.row]
  2. trên UITableViewCell đặt một IMAGExem trên di động
  3. chọn UIimageView chỉ định thẻ đó từ bảng phân cảnh.

    let pictureURL = URL(string: self.thumbnail[indexPath.row])! 
    let pictureData = NSData(contentsOf: pictureURL as URL) 
    let catPicture = UIImage(data: pictureData as! Data) 
    var imageV = UIImageView() 
    imageV = cell?.viewWithTag(1) as! UIImageView 
    imageV.image = catPicture 
    
Các vấn đề liên quan