2011-08-02 68 views
1

我有一個應用程序有一個UITextField存在允許我的用戶輸入他們的年齡和另一個數值。理想情況下,我希望鍵盤在編輯TextField時彈出數字鍵盤。目前,我已將它設置爲數字和標點符號,僅僅是爲了利用「完成」按鈕來關閉鍵盤,因爲數字鍵盤沒有完成按鈕。UITextField - resignFirstResponder查詢

在嘗試使用數字鍵盤時,我試圖通過點擊我的主視圖的背景來將其設置爲關閉。

-(IBAction)backgroundTapped:(id)sender; 

我在我的頭文件中創建了上述動作。

-(IBAction)backgroundTapped:(id)sender { 
    [ageEntry resignFirstResponder]; 
} 

我在我的實現文件中擴展了上述方法,告訴ageEntry TextField resignFirstResponder。我還將主視圖更改爲UIControl類,並通過Interface Builder將buttonTapped操作連接到相關警報。但是當我觸摸背景時,什麼都沒有發生。

任何想法?

+0

你想添加完成按鈕到數字鍵盤? – Maulik

+0

理想情況下,像數字鍵盤上的完成按鈕,但不是在選項中。我希望能夠挖掘我的背景來解僱鍵盤 –

回答

1

使用方法

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    [urAgeField resignFirstResponder]; 
    [urOtherField resignFirstResponder]; 
} 

只要檢測到您的viewController的視圖觸摸辭職鍵盤在這種方法

+0

這看起來像一個更好的解決方案+1。 –

0

我有一個類似的問題。這裏是the solution ..

EDITED

添加

- (void)viewDidLoad 
{ 
     [super viewDidLoad]; 
     UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:self 
                    action:@selector(tap:)]; 
     tap.numberOfTapsRequired = 1; 

     [self addGestureRecognizer:tap]; 


} 

- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event 
{ 
    [ageEntry resignFirstResponder];    
} 
+0

感謝您的答覆。但這不是解決問題本身的問題,這是非常耗時的。 –

+0

檢查更新回答 – Maulik

+0

你需要IBOutlet UITextFiled * ageEntry; – Maulik

1

更簡單的方法是在文本字段中添加inputAccessoryView。此輸入附件視圖可以是UIToolbar,單個UITabBarButton用於您的完成按鈕。

少得多的黑客,並且看起來像在Safari中使用的配件視圖來解除鍵盤。

相關問題