GCTUIModalPresentationViewController
基于 UIViewControllerTransitioningDelegate
實現(xiàn)的快速配置模態(tài)控制器的動畫實現(xiàn)方案哨查。
功能
- 支持 13 種
presentAnimation
動畫配置甘邀。 - 支持 13 種
dismissAnimation
動畫配置。 - 支持 5 種背景樣式設置。
- 支持背景點擊后視圖是否
dismiss
的配置。 - 支持
UITextField
、UITextView
鍵盤同步模態(tài)顯示。
安裝
支持手動導入。
直接導入工程中 GCTUIModalPresentationViewController
文件不皆,繼承即可使用。
支持 Cocoapods
導入
pod 'GCTUIModalPresentationViewController'
使用
1戴尸、創(chuàng)建 ViewControlle
繼承自 GCTUIModalPresentationViewController
粟焊。
2、在自定義的 ViewController
中創(chuàng)建自定義視圖(繪制UI:可使用 XIB
孙蒙、Frame
)项棠,保證自定義視圖為最終正常顯示的位置。
3挎峦、在視圖顯示之前香追,設置控制器的observerView、背景樣式坦胶、顯示透典、消失的動畫。
4顿苇、顯示控制器時峭咒,正常顯示調(diào)用:
// 此處的 `animated` 必須為 YES
[self presentViewController:demoPresentViewController animated:YES completion:nil];
5、控制器的 dismiss
纪岁,依然是正常方式調(diào)用:
// 此處的 `animated` 同樣必須為 YES
[self dismissViewControllerAnimated:YES completion:nil];
參數(shù)
observerView
observerView
為真正動畫的視圖凑队。如果沒有配置 observerView
,則默認配置為控制器的視圖 View
幔翰。
observerView
可以配置為 UITextField
漩氨、UITextView
。配置為這兩類類型時遗增,設置的 presentAnimation
和 dismissAnimation
將會失去作用叫惊。視圖動畫會與鍵盤同步模態(tài)顯示,且保證鍵盤不會遮擋做修。
backViewType
backViewType
設置視圖背景樣式霍狰。自定義控制器的背景顏色將不會起作用抡草。
目前支持樣式:
序號 | 類型 | 描述 |
---|---|---|
0 | GCTUIModalPresentBackViewTypeClear | 透明 |
1 | GCTUIModalPresentBackViewTypeDark | 黑色半透明效果 |
2 | GCTUIModalPresentBackViewTypeWhite | 白色半透明效果 |
3 | GCTUIModalPresentBackViewTypeBlurDark | 黑色磨砂效果 |
4 | GCTUIModalPresentBackViewTypeBlurWhite | 白色磨砂效果 |
具體,可參照demo蚓耽。
presentAnimation 和 dismissAnimation
模態(tài)顯示和模態(tài)消失動畫設置渠牲。
控件實現(xiàn)依據(jù) UIViewControllerTransitioningDelegate
旋炒,故而要想設置的動畫可以成功執(zhí)行步悠,需要在調(diào)用視圖模態(tài)顯示和模態(tài)消失的方法時,設置 animated
參數(shù)為 YES
瘫镇。否則鼎兽,視圖顯示和消失的過程將沒有動畫效果。當然铣除,直接設置為 GCTUIModalPresentAnimationNone
和 GCTUIModalDismissAnimationNone
一樣沒有動畫效果谚咬。
具體可參照demo。