我的自定义tableview单元格有标签和textview。当我运行应用程序时,我只看到标签,而不是文本视图。
这是我的观点
这是我的ViewController:
class PostTableViewCell: UITableViewCell {
@IBOutlet weak var authorAndTimeLabel: UILabel!
@IBOutlet weak var textTextView: UITextView!
}
class WallViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var postTableView: UITableView!
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "postcell", for: indexPath) as! PostTableViewCell
cell.authorAndTimeLabel?.text = "foo"
cell.textTextView?.text = "bar"
return cell
}
}
这是我在运行应用程序时看到的内容:
我在界面构建器中正确设置了类,并且所有插座都是正确的。
以下是textViews约束
显示位置,大小和可滚动内容大小对于textview是不明确的,并且位置对于标签是不明确的,但是我不明白为什么因为我为textview的所有四个边设置了约束并且左上角的约束标签的一角。应该不够吗?
为什么TextView没有显示?
如何使用一段文字显示它?
答案 0 :(得分:1)
首先将textView宽度设置为固定(即100或150)
添加协议:
UITextViewDelegate
在indexPath mehod添加
的cellForRow cell.textviewDemo.delegate = self
按回车时添加委托方法以结束编辑
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
if (text == "\n")
{
self.view.endEditing(true);
return false;
}
return true
}