自定义MKAnnotationView - 如何连接文本字段,按钮具有属性?

时间:2013-12-13 00:20:38

标签: objective-c uiview

我正在制作一个自定义标注(MKAnnotationView类),因此用户可以点击地图并在标注中输入一些信息。我需要在某个地方连接标注上的文本字段和按钮,以便传递数据。

我坚持如何将文本字段和按钮与视图控制器中的属性连接起来。我不知道我将它们连接到哪里 - 地图视图控制器会有所帮助,但它们所属的视图是UIView,而不是UIViewController。我熟悉使用视图控制器连接插座和操作,但这是我以前没有做过的事情。

以下是我迄今为止所做的选项。哪一个最好?或者有更好的方法吗?

选项1:

在与我的MKAnnotationView相同的类的故事板中创建一个UIView,并将标签和按钮链接到父视图控制器。

问题:我甚至在调用ViewForAnnotation之前收到此消息:

UITextField stringByTrimmingCharactersInSet:]: 
unrecognized selector sent to instance 0x9b54ab0

它来自我在视图控制器中设置的textField属性。

选项2:

当我在视图控制器中调用ViewForAnnotation方法时,动态构建它。使用我设置的框架初始化,以编程方式添加按钮和文本框。

问题:如何将文本框的文本连接到属性?我应该在哪里接线?

1 个答案:

答案 0 :(得分:0)

关于选项1,

UITextField没有任何名为stringByTrimmingCharactersInSet的方法。

这是NSString的一种方法。 UITextField有一个text属性来获取其文本字符串,因此您实际上希望像这样调用此方法,例如:

UITextField *myTextField = ... ;
NSString *text = [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];