2011-06-26 93 views
1

我在開始Iphone開發4中的基本用戶交互的例子。IPhone應用xcode,試圖通過點擊背景來隱藏文本輸入?

我使用的Xcode 4.02與SDK 4.3

我有兩個文本框的,一個是數值文本基本viewcontroller.xib和另一個。一旦完成編輯任何一個文本字段,我希望點擊背景並使鍵盤消失。

書上說,將容器UIView對象更改爲UIControl,然後將操作添加到UIControl事件Touch Down。然後創建一個方法,讓每個文本框的第一個響應者退出,並將其與觸發事件關聯起來。我已經做到了。這是我的代碼,有什麼我錯過了?目前沒有任何反應。

enter image description here 感謝

@interface ControlFunViewController : UIViewController { 
    UITextField *nameField; 
    UITextField *numberField; 
} 

@property (nonatomic, retain) IBOutlet UITextField *nameField; 
@property (nonatomic, retain) IBOutlet UITextField *numberField; 

- (IBAction)textFieldDoneEditing:(id)sender; 
- (IBAction)backgroundTap:(id)sender; 

實現:

#import "ControlFunViewController.h" 

@implementation ControlFunViewController 

@synthesize nameField; 
@synthesize numberField; 

- (void)dealloc 
{ 
    [nameField release]; 
    [numberField release]; 
    [super dealloc]; 
} 

- (IBAction)textFieldDoneEditing:(id)sender { 
    [sender resignFirstResponder]; 
} 
- (IBAction)backgroundTap:(id)sender { 
    [nameField resignFirstResponder]; 
    [numberField resignFirstResponder]; 
} 

回答

2

此鏈接會幫助你。它解決了以幾種不同的方式隱藏鍵盤。 http://www.mobisoftinfotech.com/blog/iphone/iphone-uitextfield-tutorial-handling-keyboard-interactions/

我今年早些時候在同一本書中確實遇到了同樣的問題。我意識到我沒有仔細閱讀,只是錯過了一條小小的指令,所以我仔細閱讀並認真閱讀。

+0

感謝您的鏈接,我仍然困惑,我已經重新讀了書中的例子,還有你提供的鏈接。我不知道我錯過了什麼? – Mantisimo

+0

該博客中的'textFieldDoneEditing'和'BackgroundTap'方法非常棒。然而,其餘的代碼被破壞了(缺少導入語句和博客HTML與源代碼清單混合),所以忽略後半部分(從「文本字段隱藏在鍵盤後面」)的所有內容。 –

1

變化,從檢查的識別標籤了UIView到UIControl - >類標識部分。 添加此

-(IBACTION)tabBackground: (id) sender; 

到您的.h文件中

添加到您的.m文件

-(IBACTION) tabBackgroup: (id)sender { 
[nameField resignFirstRespnder]; 
[numberField resignFirstResponder]; 
} 

從檢查連接您的tabBackgroupnd,操作接收部件連接到UIView的(這是一個UIControl現在)和你的好去。讓我知道如果你有任何問題

相關問題