我正在开发一个用于Genexus X Ev3的iOS用户控件,基于地图继承自GXControlGridBase,主要功能是选择地图中的一个点并返回地理位置更新Genexus属性并启动显示消息的事件使用存储在属性中的坐标。
搜索我发现了这个:
1-在控制定义中,.control文件定义一个事件
<Events>
<Event>EventName</Event>
</Events>
2-参见Genexus代码
Event Control.EventName
...
EndEvent
3-从Objective-C触发
[self fireControlEvent:@"EventName" userInterfaceContext:nil withEntityData:nil];
步骤1和2准备就绪(它们有效,有一个适用于Android的UC版本)。 在Objective-C的情况下,我可以放那条线? ¿如何更新genexus属性值?
提前致谢。
答案 0 :(得分:1)
要在地图中选择一个点,您可以使用GeneXus中内置的SD Geolocation
用户控件。
但是,如果您想要创建自己的用户控件,则可能需要将其设为GXControlEditableWithLabelBase
或GXControlEditableWithLabelSingleEditorViewBase
的子类。也就是说,假设您希望它具有关联的属性。您说您正在使用GXControlGridBase
子类,即用于值列表,而不仅仅是属性。
至于问题的最后一部分,如果需要更新属性的值,则无需触发事件。您可以从控件的实现中调用此方法:
[self updateEntityDataResolvedFieldWithValue:fieldValue];
方法-updateEntityDataResolvedFieldWithValue:
在GXControlEditableWithLabelBase
基类中定义。