UIImage 仅在选择单元格时出现在表格视图单元格中

Posted

技术标签:

【中文标题】UIImage 仅在选择单元格时出现在表格视图单元格中【英文标题】:UIImage only appears in table view cell when cell is selected 【发布时间】:2016-04-17 23:45:31 【问题描述】:

所以我在我的应用程序中使用 SWRevealViewController 作为侧边菜单。

这是我的侧视图控制器:

import UIKit

class SideTableViewController: UITableViewController 
  override func viewDidLoad() 
    self.tableView.backgroundColor = UIColor.blackColor()
  

  override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    return 5
  

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

  override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) 
    tableView.deselectRowAtIndexPath(indexPath, animated: true)
    print("You selected cell #\(indexPath.row)!")
  

  override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
    if indexPath.row == 0 
      let cell: FirstTableViewCell = self.tableView.dequeueReusableCellWithIdentifier("FirstCell") as! FirstTableViewCell
      cell.textLabel?.text = "First Cell"
      cell.backgroundColor = UIColor.blackColor()
      cell.textLabel?.textColor = UIColor.whiteColor()
      cell.cellImage.image = UIImage(named: "person")
//      cell.imageView?.image = UIImage(named: "person")
      cell.setNeedsLayout()
      return cell
     else 
      let cell = tableView.dequeueReusableCellWithIdentifier("Cell")!
      cell.textLabel?.text = "Other Cell"
      cell.backgroundColor = UIColor.blackColor()
      cell.textLabel?.textColor = UIColor.whiteColor()
      return cell
    
  

  override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat 
    if indexPath.row == 0 
      return 200
     else 
      return 50
    
  

这是我正在使用的自定义表格视图单元格,名为 FirstTableViewCell:

import UIKit

class FirstTableViewCell: UITableViewCell 
  @IBOutlet var cellImage: UIImageView!

当我打开边桌视图时,我只看到了我的一小部分图像:Image link

但是当我选择我的单元格时,我可以看到整个图像!:Image link

有谁知道我该如何解决这个问题?谢谢!

【问题讨论】:

【参考方案1】:

不得不尝试替换

cell.setNeedsLayout()

cell.setNeedsDisplay()

【讨论】:

以上是关于UIImage 仅在选择单元格时出现在表格视图单元格中的主要内容,如果未能解决你的问题,请参考以下文章

在表格视图单元格中使用 UILongPressGestureRecognizer 时出现问题

仅在单元格中的特定 UIImage 上从 UITableView 推送详细信息视图?

表格视图单元格中的 UIImage 大小

在自定义 tableviewcell 中更改 UIImage

仅在表格视图的特定单元格上显示和隐藏视图

重用表格视图单元格时出现问题?