Ios “表视图”单元格内的textview中的文本未格式化

Ios “表视图”单元格内的textview中的文本未格式化,ios,uitableview,uitextview,Ios,Uitableview,Uitextview,我试图构建一个表视图,其中每个单元格都包含一个带有格式化文本的UITextView。我把所有的东西都放在一起,表格视图被文本填充。问题是,当我在模拟器中测试它时,文本没有格式化。只有在滚动之后,当它刷新时,才会格式化它 这里我粘贴在视图控制器下面,它调用tableview和SQLite数据库中的文本,以及我用来在UITextView中插入文本并格式化文本的类。我试图强制容器的布局,但它不起作用 视图控制器 class ViewController: UIViewController, UITab

我试图构建一个表视图,其中每个单元格都包含一个带有格式化文本的UITextView。我把所有的东西都放在一起,表格视图被文本填充。问题是,当我在模拟器中测试它时,文本没有格式化。只有在滚动之后,当它刷新时,才会格式化它

这里我粘贴在视图控制器下面,它调用tableview和SQLite数据库中的文本,以及我用来在UITextView中插入文本并格式化文本的类。我试图强制容器的布局,但它不起作用

视图控制器

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var myTable: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()
    self.myTable.estimatedRowHeight = 44.0
    self.myTable.rowHeight = UITableViewAutomaticDimension
}

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 200
}    

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("verseCell") as! VerseTextView
    let row : Int = indexPath.row
    var getVerse = databaseDB()
    var verse = databaseVars()
    (verse.book, verse.chapter, verse.verseText) = getVerse.getVerseBy(row, database: databasePath as String)

    if verse.verseNumber == 1  {
        chapterToBePassed = String(verse.chapter)
    }
    else {
        chapterToBePassed = ""
    }
    cell.configure(verseChapter: chapterToBePassed, verseText: "\(verse.verseText)")
    return cell
}
}
VerseTextView类

class VerseTextView: UITableViewCell {

@IBOutlet weak var verse: UITextView!

func configure(#verseChapter: String?, verseText: String?) {

// Formats
        var style = NSMutableParagraphStyle()
        style.lineSpacing = 15
        let font = UIFont(name: "Georgia", size: 18.0) ?? UIFont.systemFontOfSize(18.0)
        let textFont = [NSFontAttributeName:font, NSParagraphStyleAttributeName : style]
        let fontChapter = UIFont(name: "Georgia-Bold", size: 22.0) ?? UIFont.systemFontOfSize(22.0)
        let chapterFont = [NSFontAttributeName:fontChapter]
        let myText = NSMutableAttributedString()
        var versettoId : String = ""

        if verseChapter != ""{
            let myTextChapter = "\n"+verseChapter!+"  "
            let capitolo = NSAttributedString(string: myTextChapter, attributes:chapterFont)
            myText.appendAttributedString(capitolo)
        }

        let testoVerso = verseText!+" "
        let verso = NSAttributedString(string: testoVerso, attributes:textFont)
        myText.appendAttributedString(verso)
        verse.attributedText = myText
//        verse.layoutManager.ensureLayoutForTextContainer(verse.textContainer)
//        verse.layoutIfNeeded()


    }
}
谢谢, S

试试这个

在cellForRowAtIndexpath中

并实现VerseTextViewstyle:Style、reuseIdentifier:reuseIdentifier


在自定义单元格类中

我尝试了,并且在自定义单元格类中实现了这一点:override initstyle:UITableViewCellStyle,reuseIdentifier:String?{super.initstyle:style,reuseIdentifier:reuseIdentifier}。我还被迫添加:required initcoder aDecoder:NSCoder{fatalErrorinitcoder:尚未实现}。但是它在视图控制器上给了我一个错误,因为它不允许VerseTextView的单元格==nil。我想我的初始化有问题。
let cell = tableView.dequeueReusableCellWithIdentifier("verseCell") as? VerseTextView

    if cell == nil {
         VerseTextView(style: .Default, reuseIdentifier: "verseCell")
    }