2013-06-05 22 views
0

許多應用都有一種視覺指示器,顯示您何時有「新活動」或「新消息」。我不是在談論推送通知(雖然它們看起來很相似)。爲了更好地說明這一點,如果您使用FB應用程序,地球圖標(通知)將顯示一個紅色圓圈,其中包含一個數字,表示您上次訪問後可能會有多少新消息。如何創建內部通知(認爲顯示數字的紅色圓圈)

我想知道如何做到這一點,因爲我唯一能想到的就是將圖像視圖或文本字段放在圖標上,該圖標將顯示一個數字,代表用戶可能擁有的新消息的數量。

+0

這就是所謂的徽章。對於標籤欄按鈕項目,您可以使用badgeValue屬性設置該值。對於其他任何事情,您可能都必須添加圖像視圖。 – rdelmar

+0

你能澄清一下,你想讓它出現在你的應用程序的某個位置,還是主屏幕上的應用程序圖標? – morningstar

回答

1

你必須使用一些黑客手段來實現這一點,因爲iOS本身的徽章只能添加到標籤欄項目中。有一個名爲MKNumberBadgeView的自定義類,它允許您將其添加到導航欄。

你會做下列方式:

MKNumberBadgeView *badge=[[MKNumberBadgeView alloc]initWithFrame:CGRectMake(92, 0, 40, 40)]; 
badge.value=6; 
[self.navigationController.navigationBar addSubview:badge]; 

幾點:你將不得不與導航欄上的徽章位置左右打,所以調整cgrectmake。

我會建議使徽章成爲一個屬性,因爲最終您會希望將其從視圖中移除。在這種情況下,您可以調用self.badge removeFromSuperview。

這個班級使用核心圖形繪製徽章,看起來非常好。

你可以找到更多關於它在這裏:

https://www.cocoacontrols.com/controls/mknumberbadgeview

相關問題