2

iOS 5.1.1 で UILocalNotification を生成すると、alertBody に「%」などの特殊文字を表示できません。Apple のドキュメントには、'%' char の文字列フォーマッタは '%%' であると明確に記載されています。

関連するコードは次のとおりです。

UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:20.0];

localNotification.alertBody = [NSString stringWithFormat:@"Test %%"];
NSLog(@"Local notification's alert body is %@",localNotification.alertBody);
localNotification.alertAction = @"View";

localNotification.soundName = UILocalNotificationDefaultSoundName;
localNotification.applicationIconBadgeNumber = 1;

[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];

alertBody を絶対に指定しようとすると、同じことが起こります。 localNotification.alertBody = @"Test %";

完全に機能する UIAlertView を生成するために同じコードを試しました。これはiOSのバグですか?

4

2 に答える 2

0

を使用する部分的な解決策を見つけました

localNotification.alertBody = @"%%%%"; 

'%' 文字を 1 つ生成します。これは iOS の二重処理のバグだと思います。

于 2012-06-20T19:01:22.717 に答える
-1

フォーマッタは %% と書かれていることは知っていますが、通常、文字列ではバックスラッシュ \ をエスケープとして使用します。代わりに「Test \%」を試してください。

于 2012-06-20T18:22:17.510 に答える