最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS 封裝導(dǎo)航欄及返回,獲取控件所在控制器的實(shí)例

 更新時(shí)間:2018年01月04日 09:02:13   作者:Kaiccy  
下面小編就為大家分享一篇iOS 封裝導(dǎo)航欄及返回,獲取控件所在控制器的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

當(dāng)一個(gè)項(xiàng)目發(fā)現(xiàn)每個(gè)返回的按鈕都是一樣的,并且標(biāo)題的字體也不是系統(tǒng)的字體,如果每個(gè)頁面都去設(shè)置返回按鈕,重新設(shè)置標(biāo)題字體,這樣代碼看著繁雜,而且會(huì)浪費(fèi)很多時(shí)間,這時(shí)候就有必要封裝一下了。。。

首先返回按鈕,需要在當(dāng)前頁面pop 到上一個(gè)頁面的話,有兩種方式:一 寫一個(gè)點(diǎn)擊代理,在用到的頁面實(shí)現(xiàn)它,二 就是獲取button所在的當(dāng)前控制器,然后pop出去。 但是第一個(gè)方法,還需要到用到的頁面去實(shí)現(xiàn)代理,也比較麻煩,那就來說第二種

首先獲取當(dāng)前控制器的方法:

UINavigationController *vc = [[UINavigationController alloc] init];
 for (UIView* next = [sender superview]; next; next = next.superview) {
 UIResponder* nextResponder = [next nextResponder];
 if ([nextResponder isKindOfClass:[UINavigationController class]]) {
  vc = (UINavigationController*)nextResponder;
  [vc.topViewController.navigationController popViewControllerAnimated:YES];
  return;
 }
 }

因?yàn)槲疫@里的按鈕在navigationController上所以,這里的控制器變量都是 UINavigationController,如果需要獲取的是一般的UIViewController,那就把上面所有的UINavigationController 改成 UIViewController

獲取完之后,我們就使用這個(gè)來封裝自己的簡單的導(dǎo)航欄,示例代碼:

+ (void)setNavigationBarWithTitle:(NSString *)title controller:(UIViewController *)controller{
 controller.title = title;
 [controller.navigationController.navigationBar setTitleTextAttributes:@{ NSForegroundColorAttributeName:kMainTextColor,NSFontAttributeName:[UIFont fontWithName:@"PingFangSC-Light" size:18]}];
 //返回按鈕
 UIButton *btn = [[UIButton alloc] init];
 [btn setImage:[UIImage imageNamed:@"back"] forState:(UIControlStateNormal)];
 [btn setTitleColor:kMainTextColor forState:UIControlStateNormal];
 btn.titleLabel.font = [UIFont systemFontOfSize:13];
 [btn addTarget:self action:@selector(back:) forControlEvents:(UIControlEventTouchUpInside)];
 controller.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btn];
}
+ (void)back:(UIButton *)sender{
 UINavigationController *vc = [[UINavigationController alloc] init];
 for (UIView* next = [sender superview]; next; next = next.superview) {
 UIResponder* nextResponder = [next nextResponder];
 if ([nextResponder isKindOfClass:[UINavigationController class]]) {
  vc = (UINavigationController*)nextResponder;
  [vc.topViewController.navigationController popViewControllerAnimated:YES];
  return;
 }
 }
}

以上這篇iOS 封裝導(dǎo)航欄及返回,獲取控件所在控制器的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • iOS的UI開發(fā)中Button的基本編寫方法講解

    iOS的UI開發(fā)中Button的基本編寫方法講解

    這篇文章主要介紹了iOS的UI開發(fā)中Button的基本編寫方法講解,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2015-11-11
  • iOS如何使用自己添加的字體庫

    iOS如何使用自己添加的字體庫

    這篇文章主要為大家介紹了iOS如何使用自己添加的字體庫詳細(xì)過程,感興趣的小伙伴們可以參考一下
    2016-03-03
  • iOS開發(fā)實(shí)現(xiàn)計(jì)算器功能

    iOS開發(fā)實(shí)現(xiàn)計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了iOS開發(fā)實(shí)現(xiàn)計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • iOS中自帶超強(qiáng)中文分詞器的實(shí)現(xiàn)方法

    iOS中自帶超強(qiáng)中文分詞器的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于iOS中自帶超強(qiáng)中文分詞器的實(shí)現(xiàn)方法,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • IOS中獲取本地通訊錄聯(lián)系人以及漢字首字母排序

    IOS中獲取本地通訊錄聯(lián)系人以及漢字首字母排序

    這篇文章主要介紹了IOS中獲取本地通訊錄聯(lián)系人以及漢字首字母排序的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • iOS如何獲取漢字(簡體中文)筆畫數(shù)詳解

    iOS如何獲取漢字(簡體中文)筆畫數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于iOS如何獲取漢字(簡體中文)筆畫數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • iOS 純代碼寫個(gè)側(cè)滑欄功能

    iOS 純代碼寫個(gè)側(cè)滑欄功能

    下面小編就為大家分享一篇iOS 純代碼寫個(gè)側(cè)滑欄功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • iOS開發(fā)教程之UIView和UIViewController的生命周期詳解

    iOS開發(fā)教程之UIView和UIViewController的生命周期詳解

    UIViewController是IOS程序中的一個(gè)重要組成部分,下面這篇文章主要給大家介紹了關(guān)于iOS開發(fā)教程之UIView和UIViewController的生命周期的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-04-04
  • iOS webview捕獲H5按鈕方法示例代碼

    iOS webview捕獲H5按鈕方法示例代碼

    這篇文章主要給大家介紹了關(guān)于iOS webview捕獲H5按鈕方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • iOS自定義UIDatePicker日期選擇器視圖

    iOS自定義UIDatePicker日期選擇器視圖

    這篇文章主要為大家詳細(xì)介紹了iOS自定義UIDatePicker日期選擇器視圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04

最新評(píng)論

长丰县| 巨野县| 闵行区| 酒泉市| 湘阴县| 汶川县| 宁明县| 犍为县| 图木舒克市| 商河县| 新宁县| 瑞金市| 凤台县| 中卫市| 建始县| 九台市| 白水县| 平阴县| 三都| 新源县| 河源市| 杭锦旗| 阿合奇县| 香格里拉县| 兰考县| 体育| 宜昌市| 吴桥县| 宁明县| 吴忠市| 木兰县| 炉霍县| 阿拉善左旗| 怀化市| 江达县| 内丘县| 普陀区| 清丰县| 南岸区| 萨迦县| 谢通门县|