我有一个TTStyledSheet,可以在加载时正常工作。但是当我重新加载视图时,样式就丢失了。
当视图加载时,样式是完美的,正如我所期望的那样。但是,当我重新加载表格时,样式完全丢失了
在我的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>
看起来好像样式表在重新加载时不可用。我甚至尝试在init期间删除“autorelease”。但它仍然是相同的。
我不确定为什么会这样。有什么建议吗?
是的,我的应用程序中没有TTNavigator,只是尝试使用TTStyleSheet和styledText以及其他一些组件。
由于
答案 0 :(得分:0)
我不知道如何解决这个问题;但我相信TTStyles在重新加载时会被释放或不存在。所以每次我重新加载表时我都会重新声明它们。不确定这是否是一个好方法。但这对我有用。