• iOS弹出底部视图简单实现


    - 项目基本目录

    其中xib文件用来自定义需要弹出的视图。

    在主控制器里设置popview的frame等信息代码如下:

    底部视图(popview)初始化放在父类视图的最顶部或者说是整个屏幕的最底部,宽高自定义

    - (void)viewDidLoad {
        [super viewDidLoad];
        _popview = [[popview alloc]init];
        _popview.frame = CGRectMake(0, self.view.frame.size.height, 400, 700);
        [self.view addSubview:_popview];
    }

    当点击相应按钮的时候让底部视图往上移

    - (IBAction)pop:(id)sender {
     
       [ UIView animateWithDuration:0.3 animations:^{
           CGAffineTransform tf = CGAffineTransformMakeTranslation(0, -_popview.frame.size.height);
           [_popview setTransform:tf];
        }];
    }

     popview视图中的代码如下:

    @interface popview ()
    
    @property (weak, nonatomic) IBOutlet UIView *bkview;
    
    @end
    
    @implementation popview
    
    - (instancetype)init{
       //从xib中初始化视图
        if (self = [super init]) {
            NSArray *binview = [[NSBundle mainBundle] loadNibNamed:@"popview" owner:nil options:nil];
            self = [binview lastObject];
        }
        return self;
    }
    //点击取消按钮的时候移除并且让弹出视图的背景视图隐藏,等到底部视图彻底移到底部的时候在设置显示背景视图(背景视图主要用来模糊效果)
    - (IBAction)cancel:(id)sender {
        [_bkview setHidden:YES];
       
        [UIView animateWithDuration:0.3 animations:^{
            self.transform =  CGAffineTransformIdentity;
            
        } completion:^(BOOL finished) {
            [_bkview setHidden:NO];
        }];
    }
  • 相关阅读:
    TODO supply a title
    three.js ---- 3d页面开发入门
    ProgressBar.Style ---- Marquee
    C#中的Task.Delay()延迟与异步执行返回结果
    位运算-实现加减乘除
    2020年专项附加扣除信息,个税纳税记录查询
    C#动态执行JS和VBS脚本
    windows下bat批处理实现守护进程(有日志)
    C#创建快捷方式的两种方法
    C#中创建程序的快捷方式
  • 原文地址:https://www.cnblogs.com/cnman/p/4986607.html
Copyright © 2020-2023  润新知