gpt4 book ai didi

ios - 像 UIPopoverController 中那样关闭自定义 UIView

转载 作者:行者123 更新时间:2023-11-29 04:41:04 26 4
gpt4 key购买 nike

我正在构建一个类似于 UIPopover View 的自定义 UIView,只需对 UIView 类进行子类化并在内部构建控件和事件的内容..为了显示此 View ,我通过我的子类数据源分配 superView,如下所示

    if ([dataSource respondsToSelector:@selector(containerView)]) 
superView = [dataSource containerView];

为了表明我有一个函数可以这样做

- (void) showPopOverFromRect : (CGRect) rect
{
CGSize popSize = self.frame.size;

float yPoint;

if(ntPopOverDirection == NTPopOverArrowDirectionUP)
yPoint = rect.origin.y + 10;
else
yPoint = rect.origin.y - 10;

self.frame = CGRectMake(rect.origin.x - popSize.width, yPoint , popSize.width, popSize.height);

[superView addSubview:self];
}

所以我的问题..如果用户像 UIPopOverController 一样点击 superView 上的 AnyWhere ,我该如何关闭此 View (将其删除)?

最佳答案

我建议您创建自定义 UIView 以使用清晰的背景或径向渐变填充整个 super View 或整个屏幕。然后在其中放置另一个具有弹出窗口外观和感觉的 UIView。

这消除了 try catch 点击并从其他 View 发送通知的问题。它将是完全独立的。

您可以轻松地在自定义 View 中添加手势识别器,以便在用户触摸空白区域时关闭 View 。

关于ios - 像 UIPopoverController 中那样关闭自定义 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10385755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com