0

最初に、View Controller で次のように UIAlertView を表示します (実際には何も凝っていません)。

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Thank you"
                                                        message:@"Successfully saved bookmark"
                                                       delegate:nil
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
[alert show];

しかし、スクリーンショットでわかるように、タイトル ラベルはビューの背景を背景色として使用しています。

UIAlertView のスクリーンショット

これがどこから来たのか、少しでもわかりません。ビューコントローラーが表示されたときにスタイルを設定する方法は次のとおりです。

- (void)viewDidLoad
{
    [super viewDidLoad];        
    // Do any additional setup after loading the view.
    self.title = @"Details";

    [self.view styleBackgroundColor];

    [self.saveToBookmarks configureButtonStyle];
    [self.getDirections configureButtonStyle];

    self.name.text = [simoItem name];
    self.relativeLocation.text = [self relativeLocationStringForLocation:[simoItem location]];
    self.address.text = [simoItem address];
    self.type.text = [self buildTypesString];

    [self.name styleMainLabel];
    [self.address styleSubLabel];
    [self.type styleSubLabel];
    [self.relativeLocation styleSubLabel];
}

プロジェクトのクリーニング、sim からのアプリのアンインストール、およびコンピューターのシェイクを試みましたが、これまでのところ何も行っていません...

styleMainLabel編集:リクエストに応じてコードを追加

-(void) styleMainLabel {
    //colors
    UIColor *backgroundColor = [Utilities getBackgoundColorPreference];
    UIColor *textColor = [Utilities getTextColorPreference];
    [self setBackgroundColor:backgroundColor];
    [self setTextColor:textColor];

    //text size styling
    self.font = [UIFont fontWithName:@"Tiresias PCfont" size:35.0];
    self.adjustsFontSizeToFitWidth = YES;
}
4

2 に答える 2

0

styleMainLabel コードに問題がある可能性があります。したがって、最初にコードを確認し、取得している場合は再度確認してください。

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Thank you"
                                                        message:@"Successfully saved bookmark"
                                                       delegate:nil
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
[alert show];

UILabel *theTitle = [alert valueForKey:@"_titleLabel"];
   [theTitle setBackgroundColor:[UIColor clearColor]];
于 2013-06-03T07:32:57.653 に答える
0

さて、問題を修正しました。これは、アクセシビリティ イベントのコールバックで設定された CALayer の色プロパティが原因でした。これが問題の原因となるコードです

- (void)accessibilityElementDidBecomeFocused {
    [super accessibilityElementDidBecomeFocused];
    CALayer *layer = [self layer];
    layer.backgroundColor = [[Utilities getFocusedBackgroundColorPreference] CGColor];
}

-(void) accessibilityElementDidLoseFocus {
    [super accessibilityElementDidLoseFocus];
    CALayer *layer = [self layer];
    layer.backgroundColor = [[Utilities getBackgoundColorPreference] CGColor];
}

まだ修正していませんが、アクセシビリティをオフにすると消えました。ご協力いただきありがとうございます。

于 2013-06-03T07:42:54.897 に答える