国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS MenuViewController實現彈出菜單效果

2019-10-21 18:45:29
字體:
來源:轉載
供稿:網友

在寫項目時,要實現一個從下移上來的一個彈出菜單,并且背景變深的這么一個效果,在此分享給大家。

主要說一下思路及一些核心代碼貼出來,要想下載源碼,請點擊下載:MenuViewController

一個簡單,效果好,比較實用的菜單彈出效果的實現,效果圖:

IOS,MenuViewController,彈出菜單

實現方式:將self.view當前頁面縮小,在當前頁的上面添加一個菜單的view,即在self.view.superview添加。

//顯示 - (void) show:(UIView*)parent {   parentView = parent;      //先隱藏backView,table   backView.alpha = 0;   _table.alpha = 0;      //移動table   [_table setTransform:CGAffineTransformMakeTranslation(0, _table.frame.size.height)];      //父窗口添加本view,---這個會調用viewDidLoad   [parentView.superview addSubview:self.view];      //添加動畫,添加到父窗口中,使之從下移動上   [UIView animateWithDuration:0.3 animations:^{     //父窗口縮小     CGAffineTransform t = CGAffineTransformMakeScale(0.9, 0.9);     [parentView setTransform:t];          //顯示backview,table     backView.alpha = 1;     _table.alpha = 1;          //移動table,CGAffineTransformIdentity還原原始坐標     [_table setTransform:CGAffineTransformIdentity];    } completion:^(BOOL finished) {        }];       } //隱藏 - (void) hide {   //添加動畫,添加到父窗口中,使之從下移動上   [UIView animateWithDuration:0.3 animations:^{     //父窗口還原      CGAffineTransform t = CGAffineTransformIdentity;     [parentView setTransform:t];          //顯示backview,table     backView.alpha = 0;     _table.alpha = 0;          //移動table     [_table setTransform:CGAffineTransformMakeTranslation(0, _table.frame.size.height)];        } completion:^(BOOL finished) {     [self.view removeFromSuperview];   }]; }  - (void)viewDidLoad {   [super viewDidLoad];      self.view.backgroundColor = [UIColor clearColor];      //背影黑罩   backView = [[UIView alloc]initWithFrame:self.view.bounds];   backView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.3];   [self.view addSubview:backView];      //算出table的CGRect   CGRect rect = self.view.bounds;   int height = _titleArray.count * 44;   rect.origin.y = rect.size.height - height;   rect.size.height = height;      _table = [[UITableView alloc]initWithFrame:rect];   _table.delegate = self;   _table.dataSource = self;   [self.view addSubview:_table];  } 

這個菜單你可以任意自定義,我這里是一個tableView,你可以寫一些有圖和文字的添加上去。只需要把源代碼稍改,就ok!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡阳市| 凭祥市| 平乡县| 怀集县| 临猗县| 九龙坡区| 会理县| 深州市| 广安市| 博乐市| 浙江省| 浦东新区| 石城县| 清流县| 四子王旗| 托克托县| 施秉县| 曲周县| 丹寨县| 胶南市| 乐东| 湛江市| 高碑店市| 灵台县| 红河县| 张掖市| 庄浪县| 格尔木市| 中西区| 伊宁县| 昌宁县| 大丰市| 高安市| 封丘县| 德州市| 安福县| 韶山市| 沅陵县| 济南市| 兰西县| 湘潭市|