2013-07-24 94 views
0

我很抱歉,如果這個問題是非常基本的。我一直在谷歌搜索,但似乎無法找到一個下拉警報橫幅/標籤(我不知道適當的期限)的API /參考,因此我張貼在這裏。iOS警告橫幅/標籤?

這是:在其中包含「請輸入有效的電子郵件地址」的標籤/橫幅。

所以這裏我的問題:

  • ,這是什麼(???警告標語通知標籤)
  • 我試圖完成類似的功能,以適當的期限顯示什麼在圖像中,基本上,如果任何字段無效,「標籤/橫幅」將從導航欄的下面隨其中的消息展開: 如果這只是一個UILabel,那麼添加展開動畫的最簡單方法是什麼? 如果它是內置的東西,因爲我看過一堆應用程序用於提醒,請讓我知道它的名字。
+0

您可能正在尋找此... https://www.cocoacontrols.com/controls/ajnotificationview – jsetting32

回答

4

看看here,我相信你能找到滿足你需求的東西。

其基本思想是,它只是一個UIView,你從屏幕的頂部(在非常基本的)的頂部動畫。您可以通過添加漸變得到了很多票友,觸摸識別器來關閉它,等,但幾乎得到基線功能,你只需做這樣的事情:

//Create a view to hold the label and add images or whatever, place it off screen at -100 
UIView *alertview = [[UIView alloc] initWithFrame:CGRectMake(0, -100, CGRectGetWidth(self.view.bounds), 100)]; 

//Create a label to display the message and add it to the alertView 
UILabel *theMessage = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(alertview.bounds), CGRectGetHeight(alertview.bounds))]; 
theMessage.text = @"I'm an alert"; 
[alertview addSubview:theMessage]; 

//Add the alertView to your view 
[self.view addSubview:alertview]; 

//Create the ending frame or where you want it to end up on screen, in this case 0 y origin 
CGRect newFrm = alertview.frame; 
newFrm.origin.y = 0; 

//Animate it in 
[UIView animateWithDuration:2.0f animations:^{ 
    alertview.frame = newFrm; 
}]; 
+0

這只是一個側面的問題,因爲我從來沒有以編程方式創建視圖。如果我使用ARC,這個視圖會在添加到父視圖後立即跟蹤到,還是需要在某處顯式釋放它? (我正在處理漸變和顏色,所以我還有那些應該發佈的資源?) – Naveed

+0

如果您使用ARC,並且只要將它添加到父視圖中,就不需要將其釋放。 – random

0

在過去的動畫警報更容易控制,可以嵌入到你的UIStackView自定義視圖和簡單的顯示/隱藏它的動畫塊。這樣可以顯着減少動畫顯示警報可見性所需的代碼量。