繁体   English   中英

在以模态显示的UIViewController中使用UITableView时的奇怪行为

[英]Odd behaviour when using UITableView in a UIViewController that is presented Modally

UITableView放在以模态形式显示的UIViewController ,我发现了一个奇怪的行为(表格)

由于编码错误而已修复 :由于某些原因,当只设置1个表格时,表格视图在每个单元格中显示2组标签。 第一组显示原始标签名称,然后直接在上方是编码文本。 请参阅iPhone4s的屏幕截图。

在iPad上,即使表格,单元格和contentView已设置为clearColor,表格视图也是白色的。 见iPad屏幕截图。

iPad屏幕截图:

在此处输入图片说明

iPhone屏幕快照:

在此处输入图片说明

这是一个测试代码,以查看我的主应用程序中的编码是否错误。

class TestTableView:UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var testTable: UITableView!
var data = ["One", "Two", "Three"]

override func viewDidLoad() {
    super.viewDidLoad()
    self.testTable.delegate = self
    self.testTable.dataSource = self
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    println(self.data.count)
    return self.data.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell = tableView.dequeueReusableCellWithIdentifier("testCell", forIndexPath: indexPath) as! testTableCell
    cell.testTableCell!.text = self.data[indexPath.row]
    return cell
}
}

class testTableCell:UITableViewCell{

@IBOutlet weak var testTableCell: UILabel!

override func layoutSubviews() {
    super.layoutSubviews()
}
}

有趣的是,println(self.data.count)可打印4次。

谁能在我的代码中看到问题? 还是这是一个错误?

任何反馈将是有帮助的。

我已经解决了这个问题,但是我不确定这是一个错误。 由于某种原因,在IB中设置“单元格”的背景颜色在iPad上不起作用。

将单元格代码更改为此可行。

class testTableCell:UITableViewCell{

@IBOutlet weak var testTableCell: UILabel!

override func layoutSubviews() {
    super.layoutSubviews()
    self.backgroundColor = UIColor.clearColor()
}
}

没有其他人有这个问题吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM