2011-03-03 62 views
0

我有一個UITextField和UITextView在相同的視圖,但我遇到了麻煩,他們是可編輯的,尤其是當從一個到另一個。iPad - UITextView和UITextField - 不顯示文本

如果我點擊UITextField,我可以輸入它。但是如果我輸入到UITextView中,那麼它不會捕獲我輸入的內容。反之亦然。

任何想法,爲什麼它表現得像這樣?

review = [[UITextView alloc] initWithFrame:CGRectMake(x+10, y + 40, 470-5, h - 15)]; 
review.keyboardType = UIKeyboardTypeAlphabet; 
review.delegate = self; 
review.font = [UIFont systemFontOfSize:16]; 
[scrollView addSubview:review]; 

titleField = [[UITextField alloc] initWithFrame:CGRectMake(x+10, y + 30, 472, 32)]; 
titleField.keyboardType = UIKeyboardTypeAlphabet; 
titleField.clearButtonMode = UITextFieldViewModeWhileEditing; 
titleField.delegate = self; 
titleField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 
titleField.font = [UIFont systemFontOfSize:14]; 
[scrollView addSubview:titleField]; 

這兩者都是全局變量和它們的尺寸足夠大。


所以我想通了,但我不知道爲什麼這樣。

對象被釋放,使我的指針不再準確?

我的.h保持不變:

{ 
    UITextField *titleField; 
    UITextView *review; 
} 
@property (nonatomic, retain) UITextField *titleField; 
@property (nonatomic, retain) UITextView *review; 

我都修改了是這樣的:

UITextField *titleField1 = [[UITextField alloc] initWithFrame:CGRectMake(x+10, y + 30, 472, 32)]; 
titleField1.keyboardType = UIKeyboardTypeAlphabet; 
titleField1.clearButtonMode = UITextFieldViewModeWhileEditing; 
titleField1.delegate = self; 
titleField1.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 
titleField1.font = [UIFont systemFontOfSize:14]; 
[scrollView addSubview:titleField1]; 

titleField = [titleField1 retain]; 

但不離開這個掛即使我釋放titleField對象?

+0

你說的「它不捕捉什麼我打字」是什麼意思?你的角色是否在視圖中出現? – 2011-03-04 02:10:19

+0

是的。沒有字符出現。光標閃爍,但按下按鈕並沒有任何反應。 – RyanJM 2011-03-04 18:09:01

回答

0

你不應該同時使用

{ 
UITextField *titleField; 
UITextView *review; 
} 
@property (nonatomic, retain) UITextField *titleField; 
@property (nonatomic, retain) UITextView *review; 

用途:

@property (nonatomic, retain) IBOutlet UITextField *titleField; 
@property (nonatomic, retain) IBOutlet UITextView *review;