2015-05-01 35 views
0

我有一個表格,顯示包含一些用戶輸入的數據的自定義單元格。這個數據的長度不一,因此我正在實現tableview.rowHeight = UITableViewAutomaticDimension。Swift/IOS - 自動調整大小的標籤與tableView.rowHeight = UITableViewAutomaticDimension

這工作正常,但我想標籤有一個10x10x10x10插圖。當我重寫自定義標籤上的drawTextInRect時,將繪製插圖並且工作正常。

問題是,自動調整大小似乎沒有考慮到新的插入,因此截斷標籤文本,我不知道如何解決這個問題。

通過在繪製矩形和返回單元格之前執行println(),我發現單元格在繪製插圖之前返回,這將導致我相信我需要更新單元格內容以解決此問題?

CustomNoteLabel

class CustomNoteLabel: UILabel { 
    override func drawTextInRect(rect: CGRect) { 

    var insets:UIEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10) 

    println("Drawing insets") 

    return super.drawTextInRect(UIEdgeInsetsInsetRect(rect, insets)) 

    } 

} 

TableViewInit()

self.tableView = UITableView() 
    self.tableView.frame = CGRectMake(0, 200, self.view.frame.width, self.view.frame.height - 200) 
    self.tableView.dataSource = self 
    self.tableView.delegate = self 
    self.tableView.backgroundColor = UIColor.whiteColor() 
    self.tableView.scrollEnabled = true 
    self.tableView.estimatedRowHeight = 200.0 
    self.tableView.rowHeight = UITableViewAutomaticDimension 
    self.tableView.separatorStyle = UITableViewCellSeparatorStyle.None 
    self.tableView.registerNib(UINib(nibName: "NoteTableViewCell", bundle: nil), forCellReuseIdentifier: "cell") 
    self.view.addSubview(tableView) 

感謝人民!

回答

0

在玩了一會兒之後,我將標籤Auto-Shrink設置爲最小字體比例0.75,從而解決了問題。