美文网首页
iOS-创建一个Pop up window

iOS-创建一个Pop up window

作者: 不是谢志伟 | 来源:发表于2014-06-19 21:48 被阅读1267次

最近的一个项目需要一个弹出窗口.

效果如下:

实现步骤:

  1. 新建一个view controller
  2. 新建一个.xib文件.
  1. .xib跟view controller建立连接.然后在viewDidLoad方法中加入以下代码:
- (void)viewDidLoad
{
    self.view.backgroundColor=[[UIColor blackColor] colorWithAlphaComponent:.6];
    self.popUpView.layer.cornerRadius = 5;
    self.popUpView.layer.shadowOpacity = 0.8;
    self.popUpView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

4 实现pop up window的打开与关闭效果.代码比较简单易懂,就不做解释了.

- (void)showAnimate
{
    self.view.transform = CGAffineTransformMakeScale(1.3, 1.3);
    self.view.alpha = 0;
    [UIView animateWithDuration:.25 animations:^{
        self.view.alpha = 1;
        self.view.transform = CGAffineTransformMakeScale(1, 1);
    }]; 
}

- (void)removeAnimate
{
    [UIView animateWithDuration:.25 animations:^{
        self.view.transform = CGAffineTransformMakeScale(1.3, 1.3);
        self.view.alpha = 0.0;
    } completion:^(BOOL finished) {
        if (finished) {
            [self.view removeFromSuperview];
        }
    }];
}

5 最后,由一个IBAction来触发弹出窗口的关闭动作(xib的close button与view controller建立连接即可).

- (IBAction)closePopup:(id)sender {
    [self removeAnimate];
}

- (void)showInView:(UIView *)aView animated:(BOOL)animated
{
    [aView addSubview:self.view];
    if (animated) {
        [self showAnimate];
    }
}

相关文章

网友评论

      本文标题:iOS-创建一个Pop up window

      本文链接:https://www.haomeiwen.com/subject/gvkjtttx.html