gpt4 book ai didi

objective-c - 像Photosynth的那样弹出教程页面

转载 作者:行者123 更新时间:2023-11-29 11:08:14 25 4
gpt4 key购买 nike

我想创建一些基本上是 photosynth 为他们的教程页面所做的克隆的东西。一个小的 ”?”按钮会在比第一个 View 略小的框架中弹出一个新 View ,这样您仍然可以在边缘看到第一个 View 。

enter image description here

从上图中很难看出,但边缘周围的部分是教程显示弹出的旧 View 。

我的第一个猜测是我需要以某种方式使用容器 View ,但我在网上找不到任何关于具体如何执行此操作的信息。我目前可以创建一个容器 View ,通过 segue 将它连接到一个新的 View Controller ,并在那个新的 View Controller 中做任何我想做的事情,但是容器 View 在它包含的 View 上总是可见的。有帮助吗?

顺便说一句,我正在使用 ARC Storyboard。

最佳答案

您可以向关键窗口添加透明 View ,添加将关闭它的点击手势识别器和显示内容的 subview :

#define OVERLAY_TAG 997
-(void)showTutorial
{
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView *overlay = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
overlay.backgroundColor = [UIColor clearColor];
overlay.userInteractionEnabled = YES;
[keyWindow addSubview:overlay];
UITapGestureRecognizer * tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(dismissTutorial)];
CGFloat border = 10;
CGRect frame = overlay.bounds;
// 20 is the status bar height (sorry for using the number)
frame = CGRectMake(border, border + 20, frame.size.width - border * 2, frame.size.height - border * 2 - 20);
// the black view in the example is probably a scroll view
UIView *blackView = [[UIView alloc] initWithFrame:frame];
blackView.backgroundColor = [UIColor blackColor];
blackView.alpha = 0.0;
[overlay addSubview:dimView];
// add all the subviews for your tutorial
// make it appear with an animation
[UIView animateWithDuration:0.3
animations:^{dimView.alpha = 1;}
completion:^(BOOL finished){[overlay addGestureRecognizer:tapRecognizer];}];
}

-(void)dismissTutorial
{
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView *overlay = [keyWindow viewWithTag:OVERLAY_TAG];
[UIView animateWithDuration:0.3
animations:^{
overlay.alpha = 0.0;
}
completion:^(BOOL finished){
[overlay removeFromSuperview];
}];
}

这样一来,您只需轻按一下即可删除教程,但您也可以使用按钮等。

关于objective-c - 像Photosynth的那样弹出教程页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12761556/

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