Отобразить TTStyledTextLabel в UITableView - PullRequest
0 голосов
/ 09 ноября 2010

Как я могу установить TTStyledTextLabel внутри UITableView.Каждый TTStyledTextLabel содержит некоторый разобранный HTML.

Вот что у меня есть, я понимаю, что это, вероятно, совершенно неправильно.

TTStyledTextLabel* label = [[TTStyledTextLabel alloc] autorelease];
cell.textLabel.text = [TTStyledText textFromXHTML:tempString lineBreaks:YES URLs:YES];

Приложение падает при запуске.Я думаю, потому что я устанавливаю свойство .text с чем-то, что не является текстом.Тем не менее, я не знаю, что еще установить.

1 Ответ

0 голосов
/ 20 ноября 2010

Следующий код сделает то, что вы хотите.К сожалению, однако, я не могу понять, как автоматически установить высоту.Если память не является проблемой, вы можете сохранить отдельный массив TTStyledTextLabels и ссылаться на их высоты.

в вашем loadView:

CGRect cgRct2 = CGRectMake(0, 35, 320, 375); //define size and position of view 
    tblView = [[UITableView alloc] initWithFrame:cgRct2 style:UITableViewStylePlain];
    tblView.dataSource = [self constructDataSource];
    tblView.delegate = self;
    //[tblView reloadData];
    [myView addSubview:tblView];

в вашем классе:

-(TTListDataSource *)constructDataSource {
    NSLog(@"constructDataSource");
    NSMutableArray * namesArray = [[NSMutableArray alloc] init];

    //ADD ITEMS
    [namesArray addObject:[TTStyledText textFromXHTML:[NSString stringWithString:@"some XHTML"]]];




    TTListDataSource * dataSource = [[TTListDataSource alloc] init];
    for (int i = 0; i < [namesArray count]; i++) {
        TTStyledText * text = [namesArray objectAtIndex:i];

        [dataSource.items addObject:[TTTableStyledTextItem itemWithText:text]];
    }

    [namesArray release];
    return dataSource;
}
...