2015-12-08 6 views
0

Я поддерживаю iOS 7, и я не использую автозапуск. Есть ли способ, которым я могу иметь динамическую высоту для клеточных меток, делающих это так?UITableView Динамическая высота строки без использования AutoLayout

Благодаря

EDIT:

Вот код, я использую, чтобы определить динамическую высоту в прошивке 7, кажется, я могу получить это своим родом работу с автоматической компоновкой, но он отсекает последнюю ячейку в внизу, это странно.

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    var cell = offScreenCells.objectForKey("gcc") as? GalleryCommentCell 
    if cell == nil { 
     cell = commentsTable.dequeueReusableCellWithIdentifier("GalleryCommentCustomCell") as? GalleryCommentCell 
     offScreenCells.setObject(cell!, forKey: "gcc") 
    } 

    let comment :GalleryCommentInfo = commentResults[indexPath.row] 

    setCellCommentInfo(cell!, data: comment) 

    cell!.bounds = CGRectMake(0, 0, CGRectGetWidth(commentsTable.bounds), CGRectGetHeight(cell!.bounds)) 

    cell!.setNeedsLayout() 
    cell!.layoutIfNeeded() 

    let height = cell!.contentView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height 
    return height + 1 
} 

func setCellCommentInfo(cell :GalleryCommentCell, data :GalleryCommentInfo) { 
    cell.commentDate.text = data.galleryCommentDate 

    cell.comment.text = data.galleryComment 
} 
+0

Начните с чтения документации для 'UITableViewDelegate'. – rmaddy

+0

Я пробовал несколько решений, ничего не работает. Последняя ячейка кажется отрезанной, только ее нижняя часть. Я могу отправить код, я даже попробовал его с автозапуском. –

+0

Обновите свой вопрос тем, что вы пробовали, и объясните, какие у вас проблемы. – rmaddy

ответ

-1

В пользовательской ячейке реализовать метод, как это:

+ (CGFloat)heightForContactName:(NSString *)name 
{ 
    CGFloat height = 0.0f; 
    if (name) { 
     CGFloat heightForText; 
     // Calculate text height with `textBoundingRect`... 
     height += heightForText; 
    } 
    return height; 
}