[英]UITextField — Adding UIView for leftView - Can't get Focus
[英]Create UITextField on UIView but can not get text input
我正在使用Xcode 6,並在iOS 8上做一個小項目,我需要在View上渲染一些文本。
我的方法是在UIView上創建一個UITextField,只要人們鍵入onit,應用程序就會重繪該View:
- (void)viewDidLoad {
[super viewDidLoad];
self.renderTextView.textToRender = @"Please type something…";
UITextField* textField = [[UITextField alloc] initWithFrame:self.renderTextView.frame];
textField.opaque = NO;
[self.renderTextView addSubview:textField];
[textField addTarget:self action:@selector(updateLabelAndRefresh:) forControlEvents:UIControlEventEditingChanged];
}
- (void) updateLabelAndRefresh: (id)sender{
self.renderTextView.textToRender = @"Hello World";
// if text's length > 0 …
if (self.textField.text.length > 0) {
self.renderTextView.textToRender = self.textField.text;
}
[self.renderTextView setNeedsDisplay];
}
但是問題是:無論如何嘗試,我都無法獲得在手機上鍵入的實際文本。 然后控制台顯示文本為空 。 我一直在搜尋它,但我仍無法解決。
你們有什么解決辦法嗎? 謝謝 ;)
下面有一些錯誤,請看一看。
- (void)viewDidLoad {
[super viewDidLoad];
//Here textField is local variable
UITextField* textField = [[UITextField alloc] initWithFrame:self.renderTextView.frame];
textField.opaque = NO;
}
- (void) updateLabelAndRefresh: (id)sender{
self.renderTextView.textToRender = @"Hello World";
// if text's length > 0 …
if (self.textField.text.length > 0) { //Then how come u getting self.textField here and using it as global one.
//So you won't get access to that locally defined textField in viewDidLoad method.
self.renderTextView.textToRender = self.textField.text;
}
}
請檢查您的代碼,並向我更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.