欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡單好用的iOS導(dǎo)航欄封裝.runtime屬性控制實(shí)例代碼

 更新時(shí)間:2018年10月31日 11:06:14   作者:_maomao  
這篇文章主要給大家介紹了簡單好用的iOS導(dǎo)航欄封裝.runtime屬性控制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

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

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

UIViewController+YINNav

效果


@interface UIViewController (YINNav)
/**
 控制屏幕方向 
 在appdelegate 實(shí)現(xiàn)
 - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
  return [[[NSUserDefaults standardUserDefaults] objectForKey:@"orientation"] integerValue];
 }
 */
@property(nonatomic,assign)UIInterfaceOrientationMask y_screenOrientation;

/**
 上級(jí)控制器 可設(shè)置
 手勢返回和pop的時(shí)候生效
 */
@property (nonatomic) UIViewController *y_popController;

/**
 是否啟用大標(biāo)題模式 僅支持iOS11 默認(rèn)為NO 。
 */
@property(nonatomic,assign)BOOL  y_largeTitleMode;

/**
 隱藏nav橫線
 */
@property(nonatomic,assign)BOOL  y_navLineHidden;

/**
 nav橫線
 */
@property(nonatomic,strong)UIView  *y_navLine;


/**
 字體顏色 默認(rèn)為[UIColor blackColor]
 */
@property (nonatomic , strong) UIColor *y_navBarTextColor;


/**
 背景顏色 默認(rèn)為[UIColor whiteColor]
 */
@property (nonatomic , strong) UIColor *y_navBarBgColor;

/**
 背景圖 如果設(shè)置了背景圖 背景色無效
 */
@property (nonatomic , strong) UIImage *y_navBarBgImg;

/**
 設(shè)置對(duì)應(yīng)的y_navBarAlpha透明度
 */
@property (nonatomic , assign) CGFloat y_navBarAlpha;

/**
 navagationbar是否隱藏 默認(rèn)為不隱藏navagationbar
 */
@property (nonatomic , assign) BOOL y_navBarHidden;
@end

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

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

比如我們進(jìn)入一個(gè)頁面,需要設(shè)置當(dāng)前導(dǎo)航欄的背景色為灰色,使用如下方法:

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

使用UIViewController+YINNav的代碼:

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

當(dāng)頁面返回時(shí)自動(dòng)設(shè)置導(dǎo)航欄為即將顯示的controller配置。

透明度漸變效果

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

設(shè)置導(dǎo)航欄背景顏色

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

設(shè)置導(dǎo)航欄背景圖

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

設(shè)置導(dǎo)航欄大標(biāo)題

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

設(shè)置導(dǎo)航欄隱藏

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

設(shè)置導(dǎo)航欄細(xì)線

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

代碼控制返回頁面

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

設(shè)置頁面方向

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

代碼地址

https://github.com/wangyin1/YINNavgationDemo (本地下載

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論