我不好意思問這個問題。我曾幾次見過它,但我不明白答案。我有一個自定義的鍵盤,我在一個單獨的視圖。它對一個文本框很有用。但現在我想要有多個文本框,鍵盤將輸入數字。我已將視圖控制器設置爲文本字段委託,並在您輸入任一文本框時彈出我的自定義鍵盤。但是,我必須設置數字的代碼僅適用於其中一個文本框。所以我想查看哪個文本框被選中,所以我將在該框中進行編輯。我使用的方法 - (BOOL)textFieldShouldBeginEditing:(*的UITextField)文本框,並試圖將下面的代碼...自定義鍵盤將文本放在多個文本框中
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if ([numberOne isFirstResponder])
{
[self.numberOne = currentTextField];
}
else if ([numberTwo isFirstResponder])
{
[self.numberTwo = currentTextField];
}
}
的currentTextField是爲UITextField。然後,我想在下面的代碼中替換currentTextField來替換numberOne。
- (IBAction)buttonPressed:(UIButton *)sender
{
NSString *button = [sender currentTitle];
NSRange decimalpoint = [self.numberOne.text rangeOfString:@"."];
if (self.userIsEnteringANumber)
{
if ([button isEqualToString:@"."] && decimalpoint.location != NSNotFound)
{
self.numberOne.text = self.numberOne.text;
}else
self.numberOne.text = [self.numberOne.text stringByAppendingString:button];
}else
{
self.numberOne.text = button;
self.userIsEnteringANumber = YES;
}
}
然而,編譯器不喜歡我的線[self.numberOne = currentTextField];我嘗試了一些其他的建議,但不幸的是我不明白他們在說什麼。有沒有人有我的新手指引?非常感謝提前。
我已經修復了寬敞的幫助下的編譯器問題。謝謝。我textFieldShouldBeginEditing方法現在...
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if ([numberOne isFirstResponder])
{
self.currentTextField = self.numberOne;
}
else if ([numberTwo isFirstResponder])
{
self.currentTextField = self.numberTwo;
}
return YES;
}
,我改變了IBAction爲buttonPressed以下...
- (IBAction)buttonPressed:(UIButton *)sender
{
NSString *button = [sender currentTitle];
NSRange decimalpoint = [self.currentTextField.text rangeOfString:@"."];
if (self.userIsEnteringANumber)
{
if ([button isEqualToString:@"."] && decimalpoint.location != NSNotFound)
{
self.currentTextField.text = self.currentTextField.text;
}else
self.currentTextField.text = [self.currentTextField.text stringByAppendingString:button];
}else
{
self.currentTextField.text = button;
self.userIsEnteringANumber = YES;
}
}
現在奇怪的事情發生了。當我點擊第一個文本字段時,鍵盤出現但沒有任何反應,然後我點擊第二個文本字段並在第一個文本字段中開始編輯。如果我點擊第一個文本字段,編輯從第二個開始。任何幫助,將不勝感激!!
感謝您與編譯器問題的幫助。編譯器更快樂!但是,這並沒有解決我的問題。即使我用currentTextField更改了numberOne,但鍵盤並未將數字放在任何文本框中。雖然我輸入任何文本字段時仍然會調用我的鍵盤。你還需要看什麼其他的代碼?請讓我知道。再次感謝。 – Douglas 2012-07-28 22:41:04
如果您合成了currentTextField,請使用self.currentTextField = self.numberOne;您還需要在更改firstResponder時將self.userIsEnteringANumber重置爲NO ...您可以省略self.currentTextField.text = self.currentTextField。文本; – spacious 2012-07-28 23:16:35
是的,我已經合成currentTextField。我使用了所有的提示,謝謝編輯。但是相反的文本字段編輯仍然存在問題。關於那個的任何想法!? – Douglas 2012-07-28 23:27:29