iOS學習筆記05 可以看到上一層內容的半透明的界面

下面我先把跟學習筆記04跟05綜合的demo發出來,要是大家有什么不明白的可以直接下載下來,看懂demo了之后就不需要再看我下面寫的東西了。可看到上層內容半透明demo
這個demo把五六個界面用push和present混用之后怎么回到根視圖,并且中間present的界面是這樣的半透明的界面,很淺顯易懂的。有啥不懂直接私信我評論問我都可以,大家一起學習。
首先先把需求說明,如圖

看界面就大概知道,需要有一個半透明的界面,可以看到上一層控制器上的內容,然后在此界面上還需要展示響應的數據等等。
我想高手的話應該會很容易的用第三方控件或者是自己寫一個彈出view來解決,但是對于新手的我來說實在是有點難啊,這個界面我研究了很久還是沒搞出來,最后決定還是要推出一個界面來實現這個功能。
那么假設上一層的界面是AViewController,銀行卡列表這個界面是BViewController。
在A彈出B的方法中。

-(void)clickToBVC
{
  NSLog(@"要跳轉B界面了");
  BViewController *vc = [[BViewController alloc]init];
  vc.modalPresentationStyle =   UIModalPresentationOverCurrentContext;
  self.definesPresentationContext = YES;
  [self presentViewController:vc animated:YES completion:^{
    vc.view.superview.backgroundColor = [UIColor clearColor];
  }];
}

之后在B的ViewDidLoad方法中將B視圖的背景色設置成半透明就行了。

  self.view.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.3];

這就簡單的完成了半透明的界面,并且可以看到上一層視圖的內容,這里需要注意的是那個modalPresentationStyle。在這里暫時就不贅述了,如果UIModalPresentationOverCurrentContext沒有效果的話,可以換成UIModalPresentationFullScreen試一試,這里具體的我還沒有深入研究,因為這兩個我在兩個不同的地方用的時候管用,換成別的就不管用了。所以這個之后我會找機會進行深入研究后再寫一篇來說的。
那么半透明的視圖完成了,那么別的東西就容易多了,界面上添加view,然后添加列表之類的,就隨意發揮了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,180評論 4 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,813評論 25 708
  • 這不是一篇技能文。下面的文字不能使你變得有趣,因為題主自以為不是個有趣的人。 曾經對別人喜歡有趣的人不以為然。有深...
    Lifefullofjoy閱讀 164評論 0 2
  • 把許諾你的幸福 裝入透明水晶殿堂 獨在宮城之外徜徉 不讓一棵草木的枯敗興哀 牽扯你一絲悲憫情懷 詩人胸懷應是人間大...
    陌諾流年閱讀 369評論 60 33