Ячеистая клетка в три20 - PullRequest
1 голос
/ 25 июля 2011

Иногда я вижу в своей камере следующую проблему, используя Three20:

enter image description here

TTStyledTextLabel пуст или не имеет текста ... в нем должно быть что-то, как и у других.

Код очень прост:

 TTStyledText * text = [TTStyledText textFromXHTML:group.name lineBreaks:YES URLs:NO]; 
        text.font = [UIFont fontWithName:@"ArialMT" size:18.0];
        _main_title.text = text;


- (void)prepareForReuse {
    [super prepareForReuse];
    _avatar.urlPath = nil;
    [_avatar removeGestureRecognizer:self.tapGesture];
    self.accessoryView = nil;
    UIImageView * lock = (UIImageView *)[self viewWithTag:-1];
    UIImageView * star = (UIImageView *)[self viewWithTag:-2];
    UILabel * star_creator = (UILabel *)[self viewWithTag:-3];
    if (lock != nil)
        [lock removeFromSuperview];
    if (star != nil)
        [star removeFromSuperview];
    if (star_creator != nil)
        [star_creator removeFromSuperview];

    int index = -4;
    TTImageView * avatar = (TTImageView *)[self viewWithTag:index];
    while (avatar != nil){
        [avatar unsetImage];
        index--;
        avatar = (TTImageView *)[self viewWithTag:index];
    }
    [_avatar unsetImage];
}

Ответы [ 2 ]

1 голос
/ 25 июля 2011

По умолчанию цвет текста белый, поэтому он может отображаться, но вы просто его не видите: -)

Попробуйте изменить цвет текста: _textLabel.textColor = [UIColor blueColor];

Также обратите внимание, что если вы используете TTStyledText, вы не можете использовать стандартную метку UIKit.Вам необходимо использовать TTStyledTextLabel из библиотеки three20, например:

_textLabel = [[TTStyledTextLabel alloc] init];
_textLabel.font = [UIFont systemFontOfSize:14];
_textLabel.contentInset = UIEdgeInsetsMake(10, 10, 10, 10);
_textLabel.userInteractionEnabled = NO;
_textLabel.backgroundColor = [UIColor clearColor];
[self.view addSubview:_textLabel];

_textLabel.text = [TTStyledText textFromXHTML:@"MY TEXT HERE" lineBreaks:YES URLs:YES];
[_textLabel sizeToFit];
_textLabel.font = [UIFont fontWithName:@"ArialMT" size:18.0];
_textLabel.textColor = [UIColor blueColor];
0 голосов
/ 25 июля 2011

Убедитесь, что текст не ноль или содержит какие-либо специальные символы, которые могут не пройти через ваш анализатор json / xml.

...