IOS實現快顯功能表效果MenuViewController(背景 景深 快顯功能表)

來源:互聯網
上載者:User

標籤:

在寫項目時,要實現一個從下移上來的一個快顯功能表,並且背景變深的這麼一個效果,在此分享給大家。

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

請到:http://download.csdn.net/download/rhljiayou/6280989

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

 

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

 

[cpp] view plaincopy 
  1. //顯示  
  2. - (void) show:(UIView*)parent  
  3. {  
  4.     parentView = parent;  
  5.       
  6.     //先隱藏backView,table  
  7.     backView.alpha = 0;  
  8.     _table.alpha = 0;  
  9.       
  10.     //移動table  
  11.     [_table setTransform:CGAffineTransformMakeTranslation(0, _table.frame.size.height)];  
  12.       
  13.     //父視窗添加本view,---這個會調用viewDidLoad  
  14.     [parentView.superview addSubview:self.view];  
  15.       
  16.     //添加動畫,添加到父視窗中,使之從下移動上  
  17.     [UIView animateWithDuration:0.3 animations:^{  
  18.         //父視窗縮小  
  19.         CGAffineTransform t = CGAffineTransformMakeScale(0.9, 0.9);  
  20.         [parentView setTransform:t];  
  21.           
  22.         //顯示backview,table  
  23.         backView.alpha = 1;  
  24.         _table.alpha = 1;  
  25.           
  26.         //移動table,CGAffineTransformIdentity還原原始座標  
  27.         [_table setTransform:CGAffineTransformIdentity];  
  28.   
  29.     } completion:^(BOOL finished) {  
  30.           
  31.     }];  
  32.       
  33.       
  34. }  
  35. //隱藏  
  36. - (void) hide  
  37. {  
  38.     //添加動畫,添加到父視窗中,使之從下移動上  
  39.     [UIView animateWithDuration:0.3 animations:^{  
  40.         //父視窗還原   
  41.         CGAffineTransform t = CGAffineTransformIdentity;  
  42.         [parentView setTransform:t];  
  43.           
  44.         //顯示backview,table  
  45.         backView.alpha = 0;  
  46.         _table.alpha = 0;  
  47.           
  48.         //移動table  
  49.         [_table setTransform:CGAffineTransformMakeTranslation(0, _table.frame.size.height)];  
  50.           
  51.     } completion:^(BOOL finished) {  
  52.         [self.view removeFromSuperview];  
  53.     }];  
  54. }  
  55.   
  56. - (void)viewDidLoad  
  57. {  
  58.     [super viewDidLoad];  
  59.       
  60.     self.view.backgroundColor = [UIColor clearColor];  
  61.       
  62.     //背影黑罩  
  63.     backView = [[UIView alloc]initWithFrame:self.view.bounds];  
  64.     backView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.3];  
  65.     [self.view addSubview:backView];  
  66.       
  67.     //算出table的CGRect  
  68.     CGRect rect = self.view.bounds;  
  69.     int height = _titleArray.count * 44;  
  70.     rect.origin.y = rect.size.height - height;  
  71.     rect.size.height = height;  
  72.       
  73.     _table = [[UITableView alloc]initWithFrame:rect];  
  74.     _table.delegate = self;  
  75.     _table.dataSource = self;  
  76.     [self.view addSubview:_table];  
  77.   
  78. }  

 

轉載地址 : http://blog.csdn.net/rhljiayou/article/details/11768963 

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

 

IOS實現快顯功能表效果MenuViewController(背景 景深 快顯功能表)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.