在 iPhone 屏幕上的任意位置点击时关闭工具提示

Posted

技术标签:

【中文标题】在 iPhone 屏幕上的任意位置点击时关闭工具提示【英文标题】:Dismiss tooltip on tapping anywhere on iPhone screen 【发布时间】:2018-05-11 20:46:17 【问题描述】:

我正在开发一个应用程序,在其中我在 ios 应用程序上实现工具提示。在我的应用程序中,我希望当用户点击屏幕上的其他任何地方时,工具提示会消失。 在屏幕上,可以有其他按钮、文本字段、下拉菜单或什么都没有。我希望当用户单击其中任何一个(基本上是屏幕上的任何位置)时,该工具提示会被关闭。请建议我该怎么做

【问题讨论】:

您是否使用自定义工具提示? 【参考方案1】:

一个简单的方法是在显示工具提示时在所有内容的顶部添加一个透明按钮。在您的视图控制器中添加以下代码。

@interface yourViewController ()

@property (strong, nonatomic) UIButton *tooltipButton;

@end

- (void)showTooltip 
    // your code to show the tooltip goes here

    self.tooltipButton = [UIButton buttonWithType:UIButtonTypeCustom];
    self.tooltipButton.backgroundColor = [UIColor clearColor];
    self.tooltipButton.frame = self.view.bounds;
    [self.tooltipButton addTarget:self action:@selector(tooltipButtonPressed) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:self.tooltipButton];


- (void)tooltipButtonPressed 
    [self.tooltipButton removeFromSuperview];

    // your code to remove the tooltip goes here

【讨论】:

以上是关于在 iPhone 屏幕上的任意位置点击时关闭工具提示的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 上的屏幕关闭事件或属性

在我点击屏幕上的任意位置之前,Firebase 登录承诺不会解决

单击屏幕上的任意位置关闭所有 Angular JS Bootstrap 弹出窗口?

SwiftUI 键盘关闭问题

当我们单击带有打印窗口的屏幕中的任意位置时,引导模式背景不会消失

RecyclerView 项目在屏幕上的位置在运行时更改