0

我正在为一个现有应用程序开发应用内购买。场景类似于我在应用程序中有一个功能(其中包含 UITextField 控件),该功能最初被禁用,当用户点击该 UITextField 时,它会显示解锁和购买该功能的消息,一旦完成,UITextField 将启用。

但问题是,由于 UITextField 最初被禁用,我无法检测到任何点击,因此我无法获得任何可以为应用内购买功能编码的事件。

或者

如果无法检测到禁用 UIControl 的点击,还有什么其他选项可以实现上述功能。

请帮忙。

问候, 普莱克

4

4 回答 4

2

通过制作这样的按钮,在文本区域上放置一个不可见的按钮:

    UIButton* 按钮 = [[UIButton buttonWithType:UIButtonTypeCustom] 保留];
    button.frame =CGRectMake(你的参数在这里);
    button.showsTouchWhenHighlighted=YES; //方便调试
    [按钮 addTarget:self action:@selector(buttonPress:) forControlEvents:UIControlEventTouchUpInside];

并将其添加为子视图。根据您要实现的目标以及 UITextField 包含的内容,您需要将其添加到的内容可能会有所不同。

于 2010-02-01T06:19:12.017 回答
0

我记得,禁用视图的子视图也被禁用,所以我猜你的“功能”是禁用视图。您可以尝试将 UIControl 放在未禁用的视图上(例如 UIWindow 或任何子视图)并将其置于顶部。不是 100% 肯定,但我认为它应该工作。

于 2010-02-01T06:18:07.110 回答
0

UIControl除非您将其子类化并挂钩-touchesXXXXX:withEvents:方法,否则直接检测禁用的水龙头并不容易。

UIControl但是,您可以在禁用的顶部上叠加一个活动的和透明的来接管水龙头。购买完成后移除透明控件。

于 2010-02-01T06:18:35.640 回答
0

用户如何知道按下禁用的按钮?您最好提供一个非禁用按钮,以明确按下它时会发生什么。

于 2010-02-01T07:19:00.023 回答