我想創建一個視圖(UIControl),它阻止所有輸入並在驗證用戶時顯示UIActivityIndicatorView。添加UIView以上所有其他視圖,包括狀態欄
UIActionSheet和UIAlertView都管理添加一個黑色的半透明的視圖頂部的所有其他視圖來阻止輸入,我想做類似的事情。我已經嘗試在[[UIApplication sharedApplication]窗口]數組中添加我的視圖到頂層的UIWindow,雖然這確實將它放在UIKeyboard的上方(如果它是可見的),但它不會將它放在StatusBar上說得通)。
我的下一個嘗試是擴展UIAlertView,刪除它的所有子視圖並設置其layer.contents = nil,然後將ActivityIndicator添加爲子視圖。這個效果很好,但是當你把它叫做「show」時,我似乎無法殺掉UIAlertView的默認彈性轉換。
有沒有人有最好的方式解決這個問題,讓我完全控制的任何指針?
哦,我知道阻塞輸入並不是很好,但我確實確保它很短的時間,它的好處是讓用戶明白他們的動作必須完成以便進行處理。
爲什麼「隱藏」狀態欄?爲什麼不把它藏起來,是半透明的,還是完全忽略它?如果我記得正確,狀態欄不響應觸摸。 – 2010-04-19 14:29:06
我希望它看起來像是在重疊視圖下。這使用戶清楚他們目前無法互動。不幸的是,讓它變成半透明的,隱藏起來看起來很奇怪,如果只是在認證期間。 它確實響應觸摸。默認是將活動的UIScrollView滾動到頂部。 – 2010-04-19 22:16:18