UITextViews
の束を作成して別のビューに配置するコードがあります。 backgroundColorを交互の色に変更し、常にtextColorを黒に設定します。最後に作成されたものを除いて、すべてうまく動作します。それは、textColorをテキストビューのbackgroundColorに変更してUIの更新を停止します。UITextView textColorが自動的に背景色と同じになる
GDBで問題となるtextColorの値をチェックすると、そのように表示されなくても黒色になります。次に、ボタンを押して、作成されたテキストビュー全体をループし、textColorsをすべて紫色に設定します。最後のものを除いて、すべて変更されます。背景色はテキスト色と同じです。もう一度、GDBをチェックすると、textColorの値は紫色に設定されますが、これは画面に反映されません。
WTF?!?!?!何か案は?これはちょうどバグでしょうか?
ここには、UITextViews
を追加するためのコードがあります。その間にはUILabelsがありますので、テキストを中央に置くことができます。
UIColor *evenColor = [self RGBColorR:90 G:95 B:90];
UIColor *oddColor = [self RGBColorR:70 G:75 B:70];
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
// Loop through adding the buttons.
for (int i = 0; i < numberOfSections; i++) {
// Add the label for the actual title of the level.
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, ((i * sectionHeight) - 1), self.levelLablesView.frame.size.width, 30)];
[label setText:[levels objectAtIndex:i]];
label.font = [UIFont fontWithName:@"Helvetica-Bold" size:24];
[label setTextAlignment:UITextAlignmentCenter];
[label setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
if (i % 2 == 0) {
// It's an even number.
[label setBackgroundColor:evenColor];
} else {
// Its an odd number.
[label setBackgroundColor:oddColor];
}
[self.levelLablesView addSubview:label];
[label release];
// Add a scrolling UITextView for the other stuff.
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, ((i * sectionHeight) + 24), self.levelLablesView.frame.size.width, (sectionHeight - 24))];
[textView setText:[[[dictionary objectForKey:self.chosenCategory]
objectForKey:[levels objectAtIndex:i]]
objectForKey:@"Description"]];
[textView setEditable:NO];
[textView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
if (i % 2 == 0) {
// It's an even number.
[textView setBackgroundColor:evenColor];
} else {
// Its an odd number.
[textView setBackgroundColor:oddColor];
}
if (i == (numberOfSections-1)) {
[textView setFrame:CGRectMake(0,((i * sectionHeight) + 24), self.levelLablesView.frame.size.width, ((sectionHeight - 24) + 2))];
}
textView.font = [UIFont systemFontOfSize:24];
[textView setTextColor:[UIColor blackColor]];
[self.levelLablesView addSubview:textView];
[textView release];
}
}
編集:誰もが疑問に思っている場合は、私は事故によってプログラムにどこか他のテキストの色を設定しないでください。私は "textColor"のための検索を行い、私が得る唯一のマッチは無関係です。
クラッシュ時にどのようなエラーが発生しますか? – dbrajkovic
ここであなたはテキストの色を設定しています – fibnochi
@dbrajkovicそれは決してクラッシュしません。それは最悪の部分です。 :( –