Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 向继承的属性添加功能_Ios_Objective C_Oop_Design Patterns - Fatal编程技术网

Ios 向继承的属性添加功能

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

我希望把它纳入我的项目

《快速入门指南》介绍了如何在创建新的textfield对象时使用它

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但是!*您的自动完成文本字段很可能已经实现了自己的委托(以查看用户的新输入)。如果你想做你想做的事,那将是一个问题。