使用.xib

时间:2017-04-01 08:23:53

标签: ios xcode uitableview tableviewcell

在我的应用程序中,我使用xib文件使用自定义tableView Cell。我将标签等.xib文件插件创建到我的TableViewCell类

在我的ViewController中,我用来填充和显示表视图上的单元格的代码如下:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let transaction = statementArray[indexPath.row]
    let cell = Bundle.main.loadNibNamed("StatementCell", owner: self, options: nil)?.first as! StatementCell



    cell.transAmount.text = String(transaction.transAmount)
    cell.transDesc.text = transaction.transDesc
    cell.transFees.text = String(transaction.transFees)

    return cell
}

我知道TableView的工作方式是它们重用屏幕上的单元格。他们是否正在加载.xib并正确填充单元格?或者我必须在我的代码中添加一些内容吗?

3 个答案:

答案 0 :(得分:2)

首先,您需要使用UITableView注册自定义单元格

.vid3
{
position: relative;
overflow: hidden;
z-index: 0;
float: right;
right: 700;
}

然后在UITableView Delegate方法中使用cellForRowAt,你需要编写

yourTableView.register(UINib(nibName: "StatementCell", bundle: nil), forCellReuseIdentifier: "cellIdentifier")

现在您可以使用cell.propertyName

访问您的UITableViewCell属性

你必须注意“cellIdentifier”和“forCellReuseIdentifier”这两个值必须相同。

答案 1 :(得分:0)

还有一件事是你需要在viewDidLoad方法中注册你的类以重用标识符。

YourTable.registerclass(tablecell, forCellReuseIdentifier: "identifier"

并确保已连接所有必需的插座。

答案 2 :(得分:0)

在tableview

中首先注册自定义单元格nibCalss
let str1 : NSString = "StatementCell"

tableView.register(UINib(nibName: "StatementCell", bundle: nil), forCellReuseIdentifier: str1 as String)

现在初始化tableviewcell

let cell1:StatementCell = tableView.dequeueReusableCell(withIdentifier: str1 as String) as! StatementCell!

现在访问tableviewcell outlet collection。