麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > iOS > 正文

簡單好用的iOS導航欄封裝.runtime屬性控制實例代碼

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

前言

本文主要給大家介紹一個不錯的導航欄控制工具,可以大大的簡化代碼,并保留系統(tǒng)特性,不用自定義導航欄,不用繼承base。

下面話不多說了,來一起看看詳細的介紹吧

UIViewController+YINNav

效果

iOS,導航欄,封裝,.runtime,代碼

@interface UIViewController (YINNav)/** 控制屏幕方向  在appdelegate 實現 - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{  return [[[NSUserDefaults standardUserDefaults] objectForKey:@"orientation"] integerValue]; } */@property(nonatomic,assign)UIInterfaceOrientationMask y_screenOrientation;/** 上級控制器 可設置 手勢返回和pop的時候生效 */@property (nonatomic) UIViewController *y_popController;/** 是否啟用大標題模式 僅支持iOS11 默認為NO 。 */@property(nonatomic,assign)BOOL  y_largeTitleMode;/** 隱藏nav橫線 */@property(nonatomic,assign)BOOL  y_navLineHidden;/** nav橫線 */@property(nonatomic,strong)UIView  *y_navLine;/** 字體顏色 默認為[UIColor blackColor] */@property (nonatomic , strong) UIColor *y_navBarTextColor;/** 背景顏色 默認為[UIColor whiteColor] */@property (nonatomic , strong) UIColor *y_navBarBgColor;/** 背景圖 如果設置了背景圖 背景色無效 */@property (nonatomic , strong) UIImage *y_navBarBgImg;/** 設置對應的y_navBarAlpha透明度 */@property (nonatomic , assign) CGFloat y_navBarAlpha;/** navagationbar是否隱藏 默認為不隱藏navagationbar */@property (nonatomic , assign) BOOL y_navBarHidden;@end

看下與系統(tǒng)方法的對比

在我們使用系統(tǒng)api開發(fā)時。常規(guī)的,如果只有其中幾個頁面導航欄樣式不同,局部設置必須遵循一個原則:"進入頁面時修改,離開頁面時還原”。

比如我們進入一個頁面,需要設置當前導航欄的背景色為灰色,使用如下方法:

//進入頁面時設置顏色:灰色- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.navigationController.navigationBar setBarTintColor:[UIColor grayColor]];}//離開頁面時還原為全局設置:橙色- (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; [self.navigationController.navigationBar setBarTintColor:[UIColor orangeColor]];}

使用UIViewController+YINNav的代碼:

- (void)viewDidLoad { [super viewDidLoad]; self.y_navBarBgColor = [UIColor orangeColor];}

當頁面返回時自動設置導航欄為即將顯示的controller配置。

透明度漸變效果

- (void)viewDidLoad { [super viewDidLoad]; self.y_navBarAlpha = 0.999;//如果有漸變 不能設為1 否則會頁面會從導航欄下面開始布局。 self.y_navBarBgColor = [UIColor orangeColor];}- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ self.y_navBarAlpha = 0.999-(scrollView.contentOffset.y/400.f);}

設置導航欄背景顏色

- (void)viewDidLoad { [super viewDidLoad]; self.y_navBarBgColor = [UIColor orangeColor];}

設置導航欄背景圖

- (void)viewDidLoad { [super viewDidLoad]; //權重高于背景色 self.y_navBarBgImg = [UIImage imageNamed:@"app2"];}

設置導航欄大標題

- (void)viewDidLoad { [super viewDidLoad]; self.y_largeTitleMode = YES;}

設置導航欄隱藏

- (void)viewDidLoad { [super viewDidLoad]; self.y_navBarHidden = YES;}

設置導航欄細線

- (void)viewDidLoad { [super viewDidLoad]; self. y_navLineHidden = YES;}

代碼控制返回頁面

- (void)viewDidLoad { [super viewDidLoad]; //傳一個controller對象 可以是navgationcontroller 棧內的對象 self.y_popController = [[YINNavAlphaViewController alloc] init];}

設置頁面方向

- (void)viewDidLoad { [super viewDidLoad]; self. y_screenOrientation = UIInterfaceOrientationMaskLandscapeRight;}

代碼地址

https://github.com/wangyin1/YINNavgationDemo

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到IOS開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 午夜视频在线免费 | 免费国产一级淫片 | 亚洲影院在线 | 销魂美女一区二区 | 素人视频在线观看免费 | 美女视频免费一区二区 | 免费看a级片 | 蜜桃成品人免费视频 | 亚洲欧美在线视频免费 | 国产精品视频久久久 | 国产韩国精品一区二区三区久久 | 天天艹综合 | wwwxxx国产| 日本欧美一区二区三区视频麻豆 | 国产手机av在线 | 欧美日韩亚洲成人 | 中文字幕极速在线观看 | 中文字幕激情视频 | 孕妇体内谢精满日本电影 | 国产69精品久久99不卡免费版 | 日韩一级成人 | 九九热精品在线视频 | 九九热精品在线视频 | 538任你躁在线精品视频网站 | 一级免费看片 | 97zyz成人免费视频 | 黄网站色成年大片免费高 | 青草av.久久免费一区 | 亚洲免费视 | 久久久久久久久浪潮精品 | 美女喷水网站 | 在线男人天堂 | 日韩毛片在线看 | jizzzzxxxxx | 久久久久久久久久网站 | 免费a级片在线观看 | 91精品老司机 | 黄色高清视频网站 | 久久九九热re6这里有精品 | 关键词| 九九热这里只有精品8 |