簡體   English   中英

iOS UiLocalNotification格式

[英]iOS UiLocalNotification formatting

我正在向當前項目添加本地通知,我注意到一些奇怪的東西。 我正在做的是當一塊硬件電池電量不足時顯示警告。 當應用程序在前台時(我用警報視圖替換通知),字符串顯示正常。 然而,當應用程序在后台時,我的百分位符號消失。

    @"%@ has less than %i%% battery left!"

是我正在使用的字符串。 在警報視圖中,它將顯示“X剩余電量低於10%!”之類的內容。 但是后台通知顯示“X還剩下不到10個電池!”

以前有人見過嗎?

編輯(添加代碼段)

UILocalNotification *lc = [[UILocalNotification alloc] init];
lc.fireDate = [[NSDate alloc]init];
lc.alertBody = [NSString stringWithFormat:@"%@ has less than %i%% battery left!", name, percentage];

lc.timeZone = [NSTimeZone defaultTimeZone];
lc.applicationIconBadgeNumber = lc.applicationIconBadgeNumber + 1;

[[UIApplication sharedApplication] scheduleLocalNotification:lc];

其中name是NSString,百分比是int

我發現使用等效的unicode字符會使它在警報視圖和通知中都起作用。 我將我的字符串更改為:

@"%@ has less than %i\uFF05 battery left!"

但是,我仍然想知道為什么轉義不適用於本地通知。

我也在我的模擬器中重現了這個問題,並且我也解決了這個問題。

使用:

@"%@ has less than %i %%%% battery left!"

要么

[NSString stringWithFormat:@"%@ has less than %i %@ battery left!",@"Your App",7,@"%%"]

代替:

@"%@ has less than %i%% battery left!"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM