0

我有一个 TTStyledSheet 可以正常加载。但是当我重新加载视图时,样式会丢失。

  1. 我有一个 UITableViewController
  2. tableview 中的每个单元格都有一个 TTStyledTextLabel
  3. 我有一个 tableview 的重新加载机制

当视图加载时,样式非常完美,正如我所期望的那样。但是,当我重新加载表格时,样式完全丢失了

在我的 feedView.m 文件中,我有这样的样式表

@interface feedViewStyleSheet : TTDefaultStyleSheet
@end

@implementation feedViewStyleSheet

- (TTStyle*)smallGrayText {
    TTTextStyle *style=[[TTTextStyle alloc] init];
    [style setFont:[UIFont fontWithName:@"HelveticaNeue" size:9]];
    [style setColor:[[GlobalFunctions sharedGlobalFunctions] UIColorFromRGB:85 :85 :85]];
    [style setNext:nil];
    return [style autorelease];
}
- (TTStyle*)smallBlueText {
    TTTextStyle *style=[[TTTextStyle alloc] init];
    [style setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:14]];
    [style setColor:[[GlobalFunctions sharedGlobalFunctions] UIColorFromRGB:144 :5 :5]];
    [style setNext:nil];
    return [style autorelease];
}


- (TTStyle*)smallText {
    return [TTTextStyle styleWithFont:[UIFont fontWithName:@"HelveticaNeue" size:12] next:nil];
}


@end
#pragma mark {End TTStyles}

在视图的初始化中我有这个

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        //  TTStyleSheet styles
        [TTStyleSheet setGlobalStyleSheet:[[feedViewStyleSheet alloc] init] ];          

    }
    return self;    
}

我试图调试;当我为每个单元格打印 [TTStyleSheet globalStyleSheet] 时,对于每个单元格。当应用程序启动时,它是我所期望的。调试输出如下

2012-05-29 17:26:17:961 MFace[41092:12803] Cell 0 Style: <feedViewStyleSheet: 0x7f7d240>
2012-05-29 17:26:17:978 MFace[41092:12803] Cell 1 Style: <feedViewStyleSheet: 0x7f7d240>

但是当我重新加载时(那是样式丢失的时候),输出是

2012-05-29 17:26:22:228 MFace[41092:12803] Cell 0 Style: <TTDefaultStyleSheet: 0x7f12030>
2012-05-29 17:26:22:228 MFace[41092:12803] Cell 1 Style: <TTDefaultStyleSheet: 0x7f12030>

看起来样式表在重新加载时不可用。我什至尝试在初始化期间删除“自动释放”。但它仍然是一样的。

我不确定为什么会这样。有什么建议么?

是的,我的应用程序中没有 TTNavigator,我只是尝试仅使用 TTStyleSheet 和 styledText 以及其他一些组件。

谢谢

4

1 回答 1

0

我不知道如何解决这个问题;但我相信 TTStyles 在重新加载时会被释放或不存在。所以我每次重新加载表格时都重新声明它们。不确定这是否是一个好方法。但这对我有用。

于 2012-05-31T09:34:23.727 回答