这似乎是一个非常简单的问题,但是我还没有找到一个简单的选项......
我有一系列 UITextFields,后跟一个 UITextView。如何在下面的相同方法中合并 TextFields 和 TextView。
-(BOOL) textFieldDidBeginEditing:(UITextField *) textField{
textField = activeField;
if([self.textField1 isFirstResponder]){activeField = textField1;}
else if([self.textField2 isFirstResponder]){activeField = textField2;}
else if([self.textField3 isFirstResponder]){activeField = textField3;}
else if([self.textView1 isFirstResponder]){ activeField = textView1;}
[scrollView1 scrollRectToVisible:[activeField frame] animated:YES];
return NO;
}
最后一行导致以下警告:
从“UITextView * _strong”分配给“UITextField *_strong”的不兼容指针类型
这是由于(我确定)UITextField 和 UITextView 是不同的对象这一明显事实......这很好但是有办法解决这个问题,因为我希望能够通过 textFields 和 TextViews带有下一个和上一个按钮。
按照这个方法
-(void) nextTextField:(id)sender{
if([self.textField1 isFirstResponder]){activeField = textField2;}
else if([self.textField2 isFirstResponder]){activeField = textField3;}
else if([self.textField3 isFirstResponder]){activeField = textView1;}
else if([self.textView1 isFirstResponder]){ activeField = textField1;}
}
我希望有一个铸造类型的选项,但是我对如何在目标 C 中铸造有点困惑......但这听起来可能很愚蠢
activeField = ((UITextField) textView1);
这就是我在 Java 中的投射方式,但似乎我似乎无法正确地理解他的语法。
我应该转换为 UIView,因为它们都继承自 UIView 吗?
先感谢您