我將在我的應用程序中的幾個地方使用datePicker。我不想用UIPickerViewDelegate和UIPickerDatasource的委託方法「混淆」每個viewController,再加上我會一遍又一遍地執行相同的委派方法。iPhone上的UIDatePickerView的自定義包裝類
每次玩日期選擇器時,它的唯一目的就是在屏幕的一半上滑動,讓用戶選擇一個日期然後再次消失。 我正在考慮一個實現了datePicker委託方法的包裝viewController(DatePickerViewController),然後做了一個NSNotification與用戶選擇的值,這再次被viewController實例化DatePickerViewController。 這會讓我成爲一個解耦的datePicker,並讓viewController實例化datePicker對DatePickerDelegate一無所知,但只知道可能會有包含NSDate的通知。對我來說似乎是理性的,就像我會用其他語言做的事情一樣。但請糾正我,如果我在這裏挖自己一個洞:)
當我開始打破這種情況下,我遇到了一些困難,我沒有非常有經驗的目標C和可可。 我可以構建一個viewController,它在viewDidLoad中提供了一個datePicker,運行這個會在屏幕的下半部分產生一個帶有datePicker的空白屏幕。如果我使用實例化(自定義)DatePickerViewController的viewController中的「presentModalViewController」,它當然會滑動並覆蓋整個屏幕。我希望用戶仍然可以看到一半的視圖。很像在iCal應用程序中設置事件的時間。 (除了他們將新的viewController推入堆棧)。啊,只是意識到我的意思就是當它滑入屏幕並覆蓋一半屏幕時,就像鍵盤一樣。
所以我想我的主要問題是:你可以建立一個viewController的行爲像添加到視圖時的鍵盤。但是,在添加的ViewController中執行所有這些操作,而不是在控制器中實例化視圖。
希望這是有道理的:)
謝謝
TechZen嗨 非常感謝你:) 有幾件事情我不明白;什麼是「模型視圖」? 我想結束CustomDatePicker.m和.h,實例化這個並將其添加到當前視圖將向上滑動一個datePicker並選擇一個日期將調用viewController eventHandler添加datePickerView。這意味着我只需要實現處理器方法並等待通知,不符合任何協議? 也許你的方式更好,但對我來說有點新,你能指出一個例子嗎?再次感謝。 – RickiG 2009-11-10 18:20:25
我認爲他意味着模態視圖 - 這是一個視圖,它需要所有的輸入。其他視圖不會獲取用戶交互事件。 一個對話框(錯誤/警告),不會讓你點擊其他任何東西,直到你確認它是一個模態視圖的例子。 – 2009-11-10 23:26:51
感謝小量:) 我去了一個搜索狂歡的「模型視圖」的思想有我還沒有看到一個神奇的UIView類型。(上了一個數十億「模型 - 視圖 - 控制器」結果) 我想用戶能夠在其他地方點擊,如鍵盤,沒有什麼阻止你這樣做。我嘗試在ActionSheet中包含一個Picker來獲得'幻燈片'動畫等,但是這確實會鎖定屏幕。 也許我應該嘗試構建視圖並執行我自己的動畫。 – RickiG 2009-11-10 23:38:34