我正在制作一个自定义标注(MKAnnotationView类),因此用户可以点击地图并在标注中输入一些信息。我需要在某个地方连接标注上的文本字段和按钮,以便传递数据。
我坚持如何将文本字段和按钮与视图控制器中的属性连接起来。我不知道我将它们连接到哪里 - 地图视图控制器会有所帮助,但它们所属的视图是UIView,而不是UIViewController。我熟悉使用视图控制器连接插座和操作,但这是我以前没有做过的事情。
以下是我迄今为止所做的选项。哪一个最好?或者有更好的方法吗?
选项1:
在与我的MKAnnotationView相同的类的故事板中创建一个UIView,并将标签和按钮链接到父视图控制器。
问题:我甚至在调用ViewForAnnotation之前收到此消息:
UITextField stringByTrimmingCharactersInSet:]:
unrecognized selector sent to instance 0x9b54ab0
它来自我在视图控制器中设置的textField属性。
选项2:
当我在视图控制器中调用ViewForAnnotation方法时,动态构建它。使用我设置的框架初始化,以编程方式添加按钮和文本框。
问题:如何将文本框的文本连接到属性?我应该在哪里接线?
答案 0 :(得分:0)
关于选项1,
UITextField
没有任何名为stringByTrimmingCharactersInSet
的方法。
这是NSString
的一种方法。 UITextField
有一个text
属性来获取其文本字符串,因此您实际上希望像这样调用此方法,例如:
UITextField *myTextField = ... ;
NSString *text = [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];