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

User Control which triggers GeneXus events in iOS

我正在为 Genexus X Ev3 开发一个 iOS 用户控件,它基于 Maps 并继承自 GXControlGridBase,主要功能是 select 地图中的一个点和 return 地理定位更新 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属性值?

提前致谢。

到 select 地图中的一个点,您可以使用 SD Geolocation 用户控件,即 GeneXus 中的 built-in。

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

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

[self updateEntityDataResolvedFieldWithValue:fieldValue];

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