我有一个 TTStyledSheet 可以正常加载。但是当我重新加载视图时,样式会丢失。
- 我有一个 UITableViewController
- tableview 中的每个单元格都有一个 TTStyledTextLabel
- 我有一个 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 以及其他一些组件。
谢谢