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

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

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

前言

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

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

UIViewController+YINNav

效果


@interface UIViewController (YINNav)
/**
 控制屏幕方向 
 在appdelegate 實現(xiàn)
 - (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 (本地下載

總結

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

相關文章

  • IOS App圖標和啟動畫面尺寸詳細介紹

    IOS App圖標和啟動畫面尺寸詳細介紹

    這篇文章主要介紹了IOS App圖標和啟動畫面尺寸詳細介紹的相關資料,需要的朋友可以參考下
    2017-02-02
  • iOS-Mac遠程連接控制Window

    iOS-Mac遠程連接控制Window

    這篇文章主要為大家詳細介紹了iOS-Mac遠程連接控制Window,蘋果電腦遠程連接控制Windows電腦,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • iOS中給自定義tabBar的按鈕添加點擊放大縮小的動畫效果

    iOS中給自定義tabBar的按鈕添加點擊放大縮小的動畫效果

    這篇文章主要介紹了iOS中給自定義tabBar的按鈕添加點擊放大縮小的動畫效果的相關資料,非常不錯,具有參考解決價值,需要的朋友可以參考下
    2016-11-11
  • iOS 縮小打包項目ipa大小的實現(xiàn)方法

    iOS 縮小打包項目ipa大小的實現(xiàn)方法

    下面小編就為大家分享一篇iOS 縮小打包項目ipa大小的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • iOS實現(xiàn)簡易的抽屜效果

    iOS實現(xiàn)簡易的抽屜效果

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)簡易的抽屜效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • MacOS系統(tǒng)下Unity啟動黑屏的解決方法

    MacOS系統(tǒng)下Unity啟動黑屏的解決方法

    最近發(fā)現(xiàn)了一個問題,unity一打開就黑屏,通過查找相關的資料終于解決了,所以下面這篇文章主要給大家介紹了關于在MacOS系統(tǒng)下Unity啟動黑屏的解決方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2018-01-01
  • IOS 解決UIButton 點擊卡頓/延遲的問題

    IOS 解決UIButton 點擊卡頓/延遲的問題

    本文主要介紹 IOS UIButton, 這里給大家提供代碼實例作為參考,解決 UIButton 點擊卡頓或者延遲問題,在開發(fā) IOS 項目的小伙伴如果遇到這樣的問題可以參考下
    2016-07-07
  • 詳談iPhoneX截圖如何帶

    詳談iPhoneX截圖如何帶

    下面小編就為大家分享一篇詳談iPhoneX截圖如何帶"劉海"和圓角,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 深入了解iOS開發(fā)中UIWindow的相關使用

    深入了解iOS開發(fā)中UIWindow的相關使用

    這篇文章主要介紹了深入了解iOS開發(fā)中UIWindow的相關使用,以及iOS8以后產生的相關變化,需要的朋友可以參考下
    2015-10-10
  • 利用iOS動畫來模擬音量振動條的實現(xiàn)

    利用iOS動畫來模擬音量振動條的實現(xiàn)

    本篇文章主要利用iOS動畫來模擬音量振動條的實現(xiàn)以及對CAReplicatorLayer的簡單介紹,需要的朋友可以參考下
    2015-07-07

最新評論