2012-11-09 81 views
0

我的表中有一個UITextField設置爲DataEntry單元格,並且在View的底部有2個Tabs。當只有1個字段接受屏幕上的輸入時,強制UITextField resignFirstResponder

我已經在我的文本字段「參考信息」中設置了佔位符文本,對於用戶來說完全可以接受不輸入任何內容。但是

如果他們單擊該字段,然後不輸入任何內容,他們將無法真正關閉鍵盤,除非他們離開屏幕。

有沒有辦法隱藏鍵盤或者即使沒有輸入字段中的文本,也可以使「完成」始終可用?

我相信我已經處理了清除按鈕,並退出了任何輸入的文本,我只是無法得到沒有做任何解僱。

我不喜歡使用計時器清除/解僱,如果我能找到答案,我會刪除。

-(BOOL)textFieldShouldClear:(UITextField *)textField 
{ 
    NSLog(@"should clear"); 

[NSTimer scheduledTimerWithTimeInterval:0.01 
      target:self selector:@selector(dismiss) 
      userInfo:nil repeats:NO] ; 
    return YES; 
} 

-(void)dismiss 
{ 
    [_referenceText resignFirstResponder]; 
} 

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange: 
     (NSRange)range replacementString:(NSString *)string 
{ 
    if(textField.text.length == 1 && string.length==0) 
    { 
     textField.text = @""; 
     [textField resignFirstResponder]; 
    } 
// NSLog(@"Orig - %@ New - %@", textField.text , string); 
    return YES; 
} 

回答

0

僅供參考,你需要關閉「自動啓用Return鍵」

看起來很簡單,但devilishy隱藏。

相關問題