2
我創建了一個自定義的UIAlertView
(從頭開始,而不是以任何方式進行子類化),該類很好地工作,但是當警報具有文本字段時出現問題。在這個特定的實例中,當我點擊電子郵件地址字段時,鍵盤出現在我的彈出式警報下。從這個彈出窗口調用的視圖也有一個UITextField
(一個註釋框)。我注意到,如果點擊主視圖文本字段(評論框)後點擊彈出文本字段(電子郵件地址),我只有這個問題。文本字段不使用相同的委託。將UITextField鍵盤帶到前面
有沒有辦法鍵盤強制視圖層次的面前?
UPDATE: 代碼添加文本框彈出(這是一個在我的警報類PopupDialog.m
)
self.textField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 100, 34)];
_textField.font = [UIFont fontWithName:@"GillSans" size:18];
_textField.borderStyle = UITextBorderStyleRoundedRect;
_textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
_textField.backgroundColor = [UIColor white];
_textField.delegate = self;
_textField.placeholder = @"[email protected]";
它以後加入到上面的按鈕彈出視圖。半透明黑色背景和彈出視圖通過最終加入到視圖層級結構:
[[[[UIApplication sharedApplication] windows] lastObject] addSubview:background];
[[[[UIApplication sharedApplication] windows] lastObject] addSubview:self];
如果您可以顯示創建alertview的代碼,這將有所幫助。例如,你使用alertViewStyle讓它顯示文本框? – bizsytes
我已經添加了將文本字段添加到視圖的代碼。我認爲有些事情與2 UITextField代表混淆。權利的被稱爲,但鍵盤沒有被帶到前面。 –
如何將自定義警報添加到視圖層次? –