ロード時に正常に動作するTTStyledSheetを使用しています。しかし、ビューをリロードすると、スタイリングが失われます。
- UITableViewControllerがあります
- テーブルビューの各セルにはTTStyledTextLabelがあります
- テーブルビューのリロードメカニズムがあります
ビューが読み込まれると、スタイリングはすべて完璧になり、期待どおりになります。しかし、テーブルをリロードすると、スタイリングが完全に失われます
私の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;
}
デバッグしようとしました。各セルに[TTStyleSheetglobalStyleSheet]を印刷したときの各セル。アプリが起動したとき、そしてそれが私が期待しているとおりのとき。デバッグ出力は次のとおりです
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、およびその他のいくつかのコンポーネントのみを使用しようとしています。
ありがとう