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

首頁 > 系統 > iOS > 正文

IOS MenuViewController實現彈出菜單效果

2020-07-26 02:45:34
字體:
來源:轉載
供稿:網友

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

主要說一下思路及一些核心代碼貼出來,要想下載源碼,請點擊下載: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!

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 常熟市| 德兴市| 融水| 石林| 延安市| 宝鸡市| 天全县| 镇康县| 永定县| 玉树县| 拜泉县| 甘德县| 高清| 龙井市| 喜德县| 麦盖提县| 文水县| 五原县| 广平县| 名山县| 壶关县| 巴林右旗| 江永县| 宁德市| 邛崃市| 通道| 崇仁县| 昌邑市| 五指山市| 乐东| 教育| 桂林市| 海晏县| 固安县| 鄂托克旗| 青海省| 商都县| 海伦市| 剑阁县| 南丹县| 洪泽县|