вопрос по использованию TTLabel - PullRequest
0 голосов
/ 20 мая 2011

Я нахожу TTLabel в Three20, и, по-моему, он похож на UILabel. Однако TTLabel имеет только два свойства: текст и шрифт. Как насчет textColor? Я добавляю TTLable в представление, и код похож на


    TTLabel *_ttLabel = [[TTLabel alloc] initWithText:@"ttlabel"];
    _ttLabel.frame = CGRectMake(10, 50, 50, 50);
    _ttLabel.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:_ttLabel];
    TT_RELEASE_SAFELY(_ttLabel);

Тогда, на мой взгляд, я просто нахожу белый прямоугольник. Итак, я хочу знать, что толку от TTLabel? И как я могу использовать его, чтобы показать информацию так же, как UILabel. (Или я могу быть совершенно неправ: TTLael - это абстрактный класс?)

спасибо

Ответы [ 3 ]

0 голосов
/ 29 июня 2011

Я также столкнулся с проблемой, как и ваша. Я выбрал TTLabel, так как вы можете отформатировать его с помощью свойства style TTView, но был разочарован, когда обнаружил, что не могу вывести текст.

Моим решением этой проблемы было использование TTView для хранения стиля, а затем использование стандартной UILabel для любого текстового содержимого, которое вам может потребоваться. Ограничением этого подхода является то, что ваш стиль не может динамически изменять размер, чтобы вместить возможное большое текстовое значение. Это сработало для меня, так как я использую для этого то же самое, что и счетчик уведомлений в фейсбуке (этот красный кружок с цифрой).

вот код кстати:

   TTStyle *style = 
   [TTShapeStyle styleWithShape:[TTRoundedRectangleShape shapeWithRadius:TT_ROUNDED] 
   next:
   [TTInsetStyle styleWithInset:UIEdgeInsetsMake(1.5, 1.5, 1.5, 1.5) 
   next:
   [TTShadowStyle styleWithColor:RGBACOLOR(0,0,0,0.8) blur:3 offset:CGSizeMake(0, 5)     next:
   [TTReflectiveFillStyle styleWithColor:[UIColor redColor] next:
   [TTInsetStyle styleWithInset:UIEdgeInsetsMake(-1.5, -1.5, -1.5, -1.5) next:
   [TTSolidBorderStyle styleWithColor:[UIColor whiteColor] width:3 next:nil]]]]]];

и

    TTView* myView = [[[TTView alloc] initWithFrame:CGRectMake(220, 360, 40,40)] autorelease];
    myView.backgroundColor = [UIColor clearColor];
    myView.style = style;

    UILabel* badge = [[[UILabel alloc] initWithFrame:CGRectMake(220, 355, 40,40)]autorelease];
    badge.text = @"1";
    badge.textColor = [UIColor whiteColor];
    badge.textAlignment = UITextAlignmentCenter;
    badge.backgroundColor = [UIColor clearColor];
    badge.font = [UIFont boldSystemFontOfSize:17];

    [self.view addSubview:myView];
    [self.view addSubview:badge];
0 голосов
/ 06 июля 2011

если вы используете TTLabel, свойство стиля должно быть установлено.

0 голосов
/ 20 мая 2011

TTLabel - это этикетка в стиле .Таким образом, свойство textColor отсутствует, потому что вы устанавливаете его как часть вашей строки (как обычный HTML).

...