用户控件在iOS中触发GeneXus事件

时间:2016-01-04 18:27:16

标签: objective-c genexus genexus-sd

我正在开发一个用于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属性值?

提前致谢。

1 个答案:

答案 0 :(得分:1)

要在地图中选择一个点,您可以使用GeneXus中内置的SD Geolocation用户控件。

但是,如果您想要创建自己的用户控件,则可能需要将其设为GXControlEditableWithLabelBaseGXControlEditableWithLabelSingleEditorViewBase的子类。也就是说,假设您希望它具有关联的属性。您说您正在使用GXControlGridBase子类,即用于值列表,而不仅仅是属性。

至于问题的最后一部分,如果需要更新属性的值,则无需触发事件。您可以从控件的实现中调用此方法:

[self updateEntityDataResolvedFieldWithValue:fieldValue];

方法-updateEntityDataResolvedFieldWithValue:GXControlEditableWithLabelBase基类中定义。