我看過幾個應用程序,它們顯示某種形式的警報,有時需要用戶輸入或顯示某種類型的信息。無論如何,從「戒備」的設計來看,我會假設他們正在使用別的東西來展示這些。更好的UIAlert對話框
我的第一個猜測是某種形式的視圖,但我看到它們的尺寸較小並且以主視圖爲中心。這仍然可能是一個自定義的視圖?是否有任何這樣的情況下,自定義視圖模式顯示,並要求繼續之前解僱或確認?
一如既往,在此先感謝您的任何信息。
地球...
我看過幾個應用程序,它們顯示某種形式的警報,有時需要用戶輸入或顯示某種類型的信息。無論如何,從「戒備」的設計來看,我會假設他們正在使用別的東西來展示這些。更好的UIAlert對話框
我的第一個猜測是某種形式的視圖,但我看到它們的尺寸較小並且以主視圖爲中心。這仍然可能是一個自定義的視圖?是否有任何這樣的情況下,自定義視圖模式顯示,並要求繼續之前解僱或確認?
一如既往,在此先感謝您的任何信息。
地球...
沒有任何例子,很難說具體是什麼使用。但是,在大多數情況下,UIActionSheet
用於這種自定義對話框。
通常人們使用UIAlertView
,他們只是在消息字段中放置了一堆換行符。這將根據換行符的數量爲您提供所需的高度。然後,他們通過致電addSubview:viewToAdd
添加任何其他視圖。我知道這是一種痛苦和「黑客」,但它成爲人們常用的一種常用方法。 Here is a forum post on the topic which illustrates how to do it.
爲了創建這是模態的一個自定義提醒,可以做到以下幾點:
有兩個子視圖中創建一個UIView。其中一個sub-UIViews覆蓋了整個窗口(例如,尺寸爲320x480),並帶有一個調整後的alpha值,以使其顯示在其下的內容變暗。兄弟子視圖是您的Alert的容器,應該在最前面。
忽略調光器視圖中的事件,對警報容器視圖中的水龍頭或其他事件作出適當響應。
當所有的視圖被配置和疊合出,作爲子視圖添加頂視圖爲類似於[[UIApplication的sharedApplication] keyWindow]
[[[UIApplication sharedApplication]keyWindow] addSubview:myCustomAlertView];
注:原因,其中一個變暗同級的觀點並阻礙UI事件是我非常確定,如果你降低超級視圖的alpha,那麼子視圖將繼承該屬性。至少我記得過去曾經處理過這個問題。如果錯誤,我會立即糾正。
- 我創建了一個自定義的警報類,雖然此時不是模態,但會在幾秒鐘後自動關閉,或者在接收到touchUpInside事件的超時之前自動關閉。這只是一個響應點擊的UIView。我發現在我的應用程序中有幾個區域想要顯示一條簡短消息,但不喜歡必須始終點擊「確定」按鈕才能繼續前進。有了這門課程,即使在警報自動隱藏之前,我仍然可以繼續進行其他活動,或者仍然只是輕點失去它。
如果你想要一個真正自定義的UIAlertView替換,我創建了一個UIView子類,如果一個UIAlertView作爲Quartz繪圖演示的樣式,可以找到源代碼here。唯一缺少的是警報視圖的自定義按鈕類型。
但是,在使用非標準警報視圖時要小心。爲您提供的那些設計是一致的,以便他們的用戶在iPhone OS上擁有統一的體驗。如果你構建的是與操作系統其他部分不同的東西,那麼當人們使用你的應用程序時,這可能會導致沮喪。
+1,感謝分享代碼 – 2011-11-09 15:18:54
想要分享您的代碼...? – 2010-12-04 14:28:24