在自定义 UITableViewCell 上使用图像时 IOS 8 崩溃
Posted
技术标签:
【中文标题】在自定义 UITableViewCell 上使用图像时 IOS 8 崩溃【英文标题】:IOS 8 crash wen using image at a custom UITableViewCell 【发布时间】:2015-02-20 18:56:13 【问题描述】:我正在使用自定义 UITableViewCell ,这是在 xib 文件的帮助下完成的,当我将图像放入我的 xib 文件时,我的应用程序崩溃了,这是 cellForRowAtIndexPath 方法(应用程序崩溃的前几行):
var cell : RecipeTableViewCell? = self.tableView?.dequeueReusableCellWithIdentifier("RecipeCell") as? RecipeTableViewCell
if(cell == nil)
self.tableView?.registerNib(UINib(nibName: "RecipeCell", bundle: nil), forCellReuseIdentifier: "RecipeCell")
cell = self.tableView?.dequeueReusableCellWithIdentifier("RecipeCell") as? RecipeTableViewCell
它在这一行崩溃:
self.tableView?.dequeueReusableCellWithIdentifier("RecipeCell") as? RecipeTableViewCell
我收到了这条消息: 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UIImageView _isResizable]:无法识别的选择器已发送到实例。
我知道 UIImageView 没有这样的方法(isResizable)它是 UIImage 的,所以有什么问题???
【问题讨论】:
【参考方案1】:当您使用 UIImageView 代替 UIImage 时,通常会发生此错误。例如,如果您在某些动画中使用图像视图而不是图像,请检查您的RecipeTableViewCell 类并将 UIImageViews 更改为 UIImages。
【讨论】:
【参考方案2】:我通过删除 xib 文件并重新创建它来解决这个问题,这是由于 xib 文件不干净,谢谢大家 :D
【讨论】:
我遇到了同样的问题。我看不出我的故事板出了什么问题。直到我终于明白了:在用“icon”重命名之前,我曾尝试在表格视图单元格中使用“image”作为图像的名称——这是被禁止的。但是我没有删除引用插座中的链接。这就是我崩溃的原因。 谢谢,你让我头疼不已!【参考方案3】:对我来说,这是因为从我的 xib 中将 @IBOutlet
设置为 UIImageView
,然后仅从 Swift 文件中删除出口(所以 .xib 仍然“认为”它连接到某些代码,但事实并非如此t)。
【讨论】:
以上是关于在自定义 UITableViewCell 上使用图像时 IOS 8 崩溃的主要内容,如果未能解决你的问题,请参考以下文章
在自定义 uitableviewcell 中设置图像会导致延迟
无法在自定义 UITableViewCell 中更新 UITextView 的文本
出队后,CALayer 在自定义 UITableViewCell NIB 上消失
iOS:在自定义 UITableViewCell 中更改 contentView backgroundColor on touchDown