作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一些基本上是 photosynth 为他们的教程页面所做的克隆的东西。一个小的 ”?”按钮会在比第一个 View 略小的框架中弹出一个新 View ,这样您仍然可以在边缘看到第一个 View 。
从上图中很难看出,但边缘周围的部分是教程显示弹出的旧 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/
有没有类似MS的开源代码Photosynth Photosynth is a potent mixture of two independent breakthroughs: the ability
我想创建一种类似 Photosynth 的体验,允许用户从许多图片的集合中在虚拟环境中导航。对于这个项目,我仅限于使用 WPF/.NET 来创建应用程序。理想情况下,我想要一个可以放入我的应用程序中的
我是一名优秀的程序员,十分优秀!