为什么UITextView不会出现?

时间:2019-07-25 16:43:21

标签: swift uitableview uitextview

我有一个自定义的tableView单元格,我不知道为什么我的UITextView无法显示。 这是我的UITextView:

    fileprivate let notificationBody: UITextView = {
    let text = UITextView(frame: CGRect(x: 0, y: 0, width: 0, height: 0))
    text.translatesAutoresizingMaskIntoConstraints = false
    text.backgroundColor = UIColor.appWhite
    text.font = UIFont.preferredFont(forTextStyle: .headline)
    text.isScrollEnabled = true
    text.isEditable = false
    text.text = "hjfhsdjfdsfhjksdfhksdjhkfsdjhfshjdfahsdjfdsjklfjsdkfjksdlfjkdsfjklsdlkjfsdjklfsdjklfsdjklfjkldsfjklsdfkjldskjfsdlkjfsdklfjlkdsjflksdajflkdsjflksdjflksdajflksdajflsdkjflsdkjflsdkjflsdkjflsdjflsdjflsdjfsdlkjfslkd"
    text.textAlignment = NSTextAlignment.natural
    return text
}()

这是我的设置方式:

    fileprivate func setupNotificationBody(){
    addSubview(notificationBody)
    NSLayoutConstraint.activate([
        notificationBody.topAnchor.constraint(equalTo: notificationTitle.bottomAnchor, constant: 5),
        notificationBody.leadingAnchor.constraint(equalTo: self.leadingAnchor, constant: 5),
        notificationBody.trailingAnchor.constraint(equalTo: self.trailingAnchor, constant: -5),
        notificationBody.bottomAnchor.constraint(equalTo: self.dismissNotificationButton.topAnchor, constant: -5)
    ])
}

当然我在Init中也叫setupNotificationBody。 在该单元格中,我还具有另一个按钮和一个uilabel,它们可以正确显示。

1 个答案:

答案 0 :(得分:0)

您似乎需要单元格具有动态高度。在这种情况下,您应该将isScrollEnabled中的属性UITextView设置为false,这样UITextView就可以计算出它自己的高度。 另外,请记住在UITableView.automaticDimension中将像元高度设置为UITableViewDelegate