Ios 向继承的属性添加功能
我希望把它纳入我的项目 《快速入门指南》介绍了如何在创建新的textfield对象时使用它Ios 向继承的属性添加功能,ios,objective-c,oop,design-patterns,Ios,Objective C,Oop,Design Patterns,我希望把它纳入我的项目 《快速入门指南》介绍了如何在创建新的textfield对象时使用它 HTAutocompleteTextField *textField = [[HTAutocompleteTextField alloc] initWithFrame:CGRectMake(0,0,100,31)]; textField.autocompleteDataSource = [HTAutocompleteManager sharedManager]; textField.autocomple
HTAutocompleteTextField *textField = [[HTAutocompleteTextField alloc] initWithFrame:CGRectMake(0,0,100,31)];
textField.autocompleteDataSource = [HTAutocompleteManager sharedManager];
textField.autocompleteType = HTAutocompleteTypeEmail;
我想将该功能添加到现有继承的UITextField
中,例如MyViewController
中的existingTextfield
MyViewController
是FrameWorkViewController
最好的方法是什么
EDIT
existingTextfield
是一个只读属性如果您的现有文本字段是在代码中创建和初始化的,只需像上面那样创建HTAutocompleteTextField
的实例,并将其分配给existingTextfield
变量<代码>[UIViewController viewDidLoad]是一个很好的地方
如果您使用的是故事板或xib,请在界面生成器中打开它,选择existingTextField并在自定义类字段中指定HTAutocompleteTextField,而不是默认值UITextField(请参见下图)。不要忘记为代码中的文本字段指定数据源等
嗨,BlackRider,谢谢你的评论,
existingTextField
是一个只读属性,那么你可能需要采取一些技巧。例如,创建并添加您自己的文本字段,并将其置于现有文本字段之上。您还可以接受现有字段的委托,并将其用作新字段的委托。你明白了。我想试试。你能解释一下你建议的委托方法吗?我是说UITextFieldDelegate
。这个文本字段可以实现,也可以不实现,如果有,您希望它处理新文本字段中的事件,您将替换旧文本字段。因此,您可以执行类似于myNewTextField.delegate=existingTextField.delegate代码>但是!*您的自动完成文本字段很可能已经实现了自己的委托(以查看用户的新输入)。如果你想做你想做的事,那将是一个问题。