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

詳解iOS11關(guān)于導(dǎo)航欄問題

 更新時(shí)間:2017年10月21日 08:29:35   作者:h_wen  
本篇文章主要介紹了詳解iOS11關(guān)于導(dǎo)航欄問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

前言

iOS11導(dǎo)航欄除了新加入了largeTitles和searchController兩個(gè)新特性,可能是加入largeTitles的原因其結(jié)構(gòu)較iOS 10發(fā)生了些變化。

iOS11之前導(dǎo)航欄的navigationBarButton則直接添加在navigationBar上面

在iOS11之后,蘋果添加了新的類來管理,可以看到titleView直接加在_UINavigationBarContentView上,UIBarButtonItem則添加在_UIButtonBarStackView上面,而_UIButtonBarStackView則添加在_UINavigationBarContentView上面,最后添加到UINavigationBar上面,如下圖所示:

由于結(jié)構(gòu)的變化,在iOS 11中我們自定義設(shè)置leftBarButtonItem,其點(diǎn)擊區(qū)域變得很小,讓人點(diǎn)的很焦灼,如下圖綠色區(qū)域所示:


具體代碼如下,設(shè)置的frame在這里并沒有什么卵用,點(diǎn)擊區(qū)域依然只有圖片原本的size那么大:

    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 60, 40)];
    [btn setImage:imageWhite forState:UIControlStateNormal];
    [btn addTarget:self action:@selector(bpBack) forControlEvents:UIControlEventTouchUpInside];
    btn.backgroundColor = [UIColor greenColor];
    UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithCustomView:btn];
    leftItem.width = 60;
    self.navigationItem.leftBarButtonItem = leftItem;

為了能增加點(diǎn)擊區(qū)域,我們就需要增加button的size,然后就想到通過改變ContentEdgeInsets來增大button的size,

... 
...
 btn.backgroundColor = [UIColor greenColor];
 if (@available(iOS 11.0,*)) {
     [btn setContentMode:UIViewContentModeScaleToFill];
     [btn setContentEdgeInsets:UIEdgeInsetsMake(0, 5, 5, 20)];
  }
 UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithCustomView:btn];
...
...

另:searchBar設(shè)置為titleview,會(huì)導(dǎo)致navigation的高度發(fā)生異常(ps:push到下一個(gè)界面,下個(gè)界面的view距離navigation出現(xiàn)了一段黑色區(qū)域)需要處理下:

  CGRect frame = CGRectMake(0, 0, 150, 44);
  UISearchBar *search = [[UISearchBar alloc] initWithFrame:frame];
  search.placeholder = @"搜索";
  search.delegate = self;
  UITextField *searchField=[search valueForKey:@"_searchField"];
  searchField.backgroundColor = [UIColor groupTableViewBackgroundColor];
// --- iOS 11異常處理
  if(@available(iOS 11.0, *)) {
    [[search.heightAnchor constraintEqualToConstant:44] setActive:YES];
  }
  self.navigationItem.titleView = search;

詳細(xì)資料參考:
https://stackoverflow.com/questions/45997996/ios-11-uisearchbar-in-uinavigationbar

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Objective-C const常量的優(yōu)雅使用方法

    Objective-C const常量的優(yōu)雅使用方法

    這篇文章主要為大家介紹了Objective-C const常量的優(yōu)雅使用方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Android開發(fā)筆記之簡單基站定位程序的實(shí)現(xiàn)

    Android開發(fā)筆記之簡單基站定位程序的實(shí)現(xiàn)

    這篇文章主要介紹了Android開發(fā)筆記之簡單基站定位程序的實(shí)現(xiàn),詳細(xì)的介紹了基站定位其實(shí)很簡單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • IOS 簽名錯(cuò)誤codesign failed with exit code 1解決方法

    IOS 簽名錯(cuò)誤codesign failed with exit code 1解決方法

    這篇文章主要介紹了IOS 簽名錯(cuò)誤codesign failed with exit code 1解決方法的相關(guān)資料,遇到同樣問題的朋友可以看下,這里提供了解決方案,需要的朋友可以參考下
    2017-01-01
  • iOS 增加右側(cè)按鈕功能實(shí)例代碼

    iOS 增加右側(cè)按鈕功能實(shí)例代碼

    這篇文章主要介紹了iOS 增加右側(cè)按鈕功能實(shí)例代碼,需要的朋友可以參考下
    2017-07-07
  • iOS實(shí)現(xiàn)手勢解鎖操作

    iOS實(shí)現(xiàn)手勢解鎖操作

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)手勢解鎖操作功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • iOS開發(fā)教程之常見的性能優(yōu)化技巧

    iOS開發(fā)教程之常見的性能優(yōu)化技巧

    這篇文章主要給大家介紹了關(guān)于iOS開發(fā)教程之常見的性能優(yōu)化技巧,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用iOS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • iOS 11 UINavigationItem 去除左右間隙的方法

    iOS 11 UINavigationItem 去除左右間隙的方法

    本篇文章主要介紹了iOS 11 UINavigationItem 去除左右間隙的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • iOS仿支付寶芝麻信用分?jǐn)?shù)儀表盤動(dòng)畫效果

    iOS仿支付寶芝麻信用分?jǐn)?shù)儀表盤動(dòng)畫效果

    這篇文章主要為大家詳細(xì)介紹了iOS仿支付寶芝麻信用分?jǐn)?shù)儀表盤動(dòng)畫效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS中的ipa重簽名(逆向必備)

    iOS中的ipa重簽名(逆向必備)

    這篇文章給大家介紹了ios中的ipa重簽名知識(shí)以及錯(cuò)誤原因及解決俄方案,需要的朋友參考下吧
    2018-01-01
  • fastlane自動(dòng)化打包iOS APP過程示例

    fastlane自動(dòng)化打包iOS APP過程示例

    這篇文章主要為大家介紹了fastlane自動(dòng)化打包iOS APP的過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07

最新評論

时尚| 仪征市| 太白县| 南投市| 晋城| 万源市| 石柱| 枞阳县| 中阳县| 伊吾县| 大悟县| 且末县| 余干县| 萨嘎县| 福建省| 邛崃市| 平遥县| 宁化县| 凭祥市| 道孚县| 湘阴县| 吉安市| 雷州市| 潞城市| 镇雄县| 玛多县| 奇台县| 黔东| 隆安县| 城市| 辉南县| 高邮市| 玉树县| 安庆市| 峨边| 保靖县| 九寨沟县| 长宁县| 那曲县| 马关县| 延川县|