2014-04-06 40 views
0

我從here中選擇一個選擇器視圖。它的工作很棒。當應用程序運行它顯示。但是,我希望在顯示文本字段時顯示此內容,並在此之前將其隱藏。國家選擇器是UIPickerView的子類,放置在nib文件中。請幫忙。如何隱藏放置在筆尖文件中的UIPickerView

+0

設置它隱藏在接口。指定文本字段的委託來觸發編輯事件並使用'hidden'屬性來管理視圖。 –

+0

我設置隱藏在界面,它不顯示視圖加載時,謝謝。但我沒有得到下一部分。我如何將委派給我的文本字段以觸發編輯事件並使用隱藏的屬性來管理視圖?請幫助 –

+1

@MugheesMusaddiq你可以將選擇器設置爲Textfield'textField.inputView = picker;' – meda

回答

1

您應該按照下面的步驟:

在主階級IBOutlet中創建屬性(不要忘記添加UITextFieldDelegate在你的頭文件):

@property (weak, nonatomic) IBOutlet CountryPicker *myPickerView; 
@property (weak, nonatomic) IBOutlet UITextField *myTextField; 

2.連接你的IBOutlets與你的PickerView,xib中的TextField。並在viewDidLoad添加方法:

self.myTextField.delegate = self; 

既然現在你應該實現的UITextField委託方法。 UITextField Protocol Reference

- (void)textFieldDidBeginEditing:(UITextField *)textField 
    { 
     self.myPickerView.hidden = NO; 
    } 

此方法通知代表指定的文本字段剛剛成爲第一個響應者。您可以使用此方法更新您的委託狀態信息。例如,您可以使用此方法顯示在編輯時應該可見的疊加視圖。

- (void)textFieldDidEndEditing:(UITextField *)textField 
    { 
     self.myPickerView.hidden = YES; 
    } 

該方法在文本字段退出其第一個響應者狀態後調用。您可以使用此方法更新您的委託狀態信息。例如,您可以使用此方法隱藏僅在編輯時纔可見的疊加視圖。

EDIT1:GitHub Sample

+0

我按照你的指示,但myPickerView沒有出現。只有鍵盤出現:( –

+0

我也添加了這個'[myTextField setInputView:myPickerView];'在'viewDidLoad'中,它的工作,謝謝:) –

+0

它應該工作沒有這一行。我添加了我的github示例代碼,只是爲了更好的理解。當你有時間時檢查它。 –