来自 XIB 错误的 UITableView 和 UITableViewCell?

Posted

技术标签:

【中文标题】来自 XIB 错误的 UITableView 和 UITableViewCell?【英文标题】:UITableView and UITableViewCell from XIB bug? 【发布时间】:2014-07-25 09:04:01 【问题描述】:

我正在尝试以编程方式从.xib 生成UITableViewUITableViewCell。 但我不知道我做错了什么。我已经阅读了几个教程,看起来我做的一切都很好,但它不起作用。你们能帮帮我吗?

这就是我加载 UITableView 和 Cell 的方式

import Foundation
import UIKit
class GamesViewController : UIViewController, UITableViewDelegate,UITableViewDataSource


var gameTableView : UITableView?;

override func viewDidLoad()

    gameTableView = UITableView(frame: self.view.frame, style: UITableViewStyle.Plain);
    gameTableView!.delegate = self;
    gameTableView!.dataSource = self;
    gameTableView!
    var nib = UINib(nibName: "TaskCellView", bundle: nil);
    gameTableView!.registerNib(nib, forCellReuseIdentifier: "Cell");

    self.view.addSubview(gameTableView);

    super.viewDidLoad();



override func didReceiveMemoryWarning()

    super.didReceiveMemoryWarning();

func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!)




func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int

    return 4


func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!

    let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as? TaskCell;
    cell!.taskSkillLabel.text = "sdfsdf";
    return cell;

 

这是我的自定义视图单元格

import Foundation
import UIKit

class TaskCell : UITableViewCell

 @IBOutlet var  taskSkillLabel : UILabel;

init(style: UITableViewCellStyle, reuseIdentifier: String!)


    super.init(style: UITableViewCellStyle.Default, reuseIdentifier: reuseIdentifier);



我无法发布图片,但最终我的细胞彼此一个接一个......和奇怪的人工制品。 我什至下载了具有类似工作示例的某人的代码,情况非常相似。

【问题讨论】:

@Piotr 您的代码看起来不错(根据我在 obj-C 中的经验)。问题可能出在单元格 .xib 文件、.storyboard 中,或者是 XCode 6 beta 版本问题。如果是示例项目,请将其发送到任何 git 存储库,我将尝试找出问题所在。 感谢 Szu 是我没有添加 heightForRowAtIndex 的问题,我从来没有使用故事板中的这个制作表格视图 【参考方案1】:

同时添加

func tableView(tableView: UITableView!,heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat

 return ATLEAST_YOUR_CELL_HIGHT

【讨论】:

谢谢,它超级快速简单:)

以上是关于来自 XIB 错误的 UITableView 和 UITableViewCell?的主要内容,如果未能解决你的问题,请参考以下文章

如何初始化 UITableView?来自 XIB 和以编程方式?

解决UITableView xib添加到Storyboard出现IB Designables错误

解决UITableView xib添加到Storyboard出现IB Designables错误

来自 .xib 文件的自定义 UITableViewCell

在其他视图前面添加来自 xib 的视图

UITableView以及UITableViewCell设置的时候容易出现的错误