关于使用TTLabel的问题

时间:2011-05-20 01:08:40

标签: ios three20

我在Three20中找到了TTLabel,在我看来它是像UILabel那样的。但是TTLabel只有两个属性:text和font。 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 :(得分:0)

TTLabel样式标签。因此没有textColor属性,因为您将其设置为字符串的一部分(就像普通的HTML一样)。

答案 1 :(得分:0)

我也遇到了和你一样的问题。我选择了TTLabel,因为您可以使用TTView的style属性对其进行格式化,但是当我发现我似乎无法输出文本时,我很失望。

我对此问题的解决方法是使用TTView来保存样式,然后使用标准UILabel来处理您可能想要的任何文本内容。此方法的限制是您的样式可能无法动态调整大小以适应可能的大文本值。这对我有用,因为我使用它与facebook的通知计数相同(带有数字的红色圆圈)。

顺便说一句,这是代码:

   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];

答案 2 :(得分:0)

如果使用TTLabel,则必须设置样式属性。