一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - iOS 11 使用兩種方法替換(Method Swizzling)去掉導航欄返回按鈕的文字

iOS 11 使用兩種方法替換(Method Swizzling)去掉導航欄返回按鈕的文字

2021-04-25 18:35星紅 IOS

這篇文章主要介紹了iOS 11 使用方法替換(Method Swizzling)去掉導航欄返回按鈕的文字,需要的朋友可以參考下

  方法一:設置barbuttonitem的文本樣式為透明顏色,代碼如下:

?
1
2
[[uibarbuttonitem appearance] settitletextattributes:@{nsforegroundcolorattributename: [uicolor clearcolor]} forstate:uicontrolstatenormal];
[[uibarbuttonitem appearance] settitletextattributes:@{nsforegroundcolorattributename: [uicolor clearcolor]} forstate:uicontrolstatehighlighted];

   此外這種方法會導致title不能居中,被偏移很多,如下所示(雖然不被顯示,也占了導航欄左邊很大一部分位置)

iOS 11 使用兩種方法替換(Method Swizzling)去掉導航欄返回按鈕的文字

     方法二:給uiviewcontroller添加類別,然后在load方法里面用method swzilling方法替換 交換viewdidappear,部分代碼如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
+(void)load {
  swizzlemethod([self class], @selector(viewdidappear:), @selector(ac_viewdidappear));
}
- (void)ac_viewdidappear{
  self.navigationitem.backbarbuttonitem = [[uibarbuttonitem alloc]
                       initwithtitle:@""
                       style:uibarbuttonitemstyleplain
                       target:self
                       action:nil];
  [self ac_viewdidappear];
}
void swizzlemethod(class class, sel originalselector, sel swizzledselector)
{
  // the method might not exist in the class, but in its superclass
  method originalmethod = class_getinstancemethod(class, originalselector);
  method swizzledmethod = class_getinstancemethod(class, swizzledselector);
  // class_addmethod will fail if original method already exists
  bool didaddmethod = class_addmethod(class, originalselector, method_getimplementation(swizzledmethod), method_gettypeencoding(swizzledmethod));
  // the method doesn't exist and we just added one
  if (didaddmethod) {
    class_replacemethod(class, swizzledselector, method_getimplementation(originalmethod), method_gettypeencoding(originalmethod));
  }
  else {
    method_exchangeimplementations(originalmethod, swizzledmethod);
  }
}

注意事項:

要給整個backbuttonitem賦值才可以,這種方法不行,因為backbarbuttonitem默認為空,給nil方法消息,默認聲明都不執行(參考官網

self.navigationitem.backbarbuttonitem.title = @" ";

leftbarbuttonitem 與backbarbuttonitem 的顯示關系:

有leftbarbuttonitem則優先顯示當前vc的leftbarbuttonitem,無則顯示上個vc的backbarbuttonitem,再無則顯示上個vc的title(參考官網   還是官網解釋的清楚)

iOS 11 使用兩種方法替換(Method Swizzling)去掉導航欄返回按鈕的文字

總結

以上所述是小編給大家介紹的ios 11 使用兩種方法替換(method swizzling)去掉導航欄返回按鈕的文字,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://www.cnblogs.com/Apple2U/archive/2018/05/04/8991662.html

延伸 · 閱讀

精彩推薦
  • IOSiOS中UILabel實現長按復制功能實例代碼

    iOS中UILabel實現長按復制功能實例代碼

    在iOS開發過程中,有時候會用到UILabel展示的內容,那么就設計到點擊UILabel復制它上面展示的內容的功能,也就是Label長按復制功能,下面這篇文章主要給大...

    devilx12792021-04-02
  • IOSiOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)

    iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和

    這篇文章主要介紹了iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)的相關資料,需要的朋友可以參考下...

    CodingFire13652021-02-26
  • IOSiOS開發之視圖切換

    iOS開發之視圖切換

    在iOS開發中視圖的切換是很頻繁的,獨立的視圖應用在實際開發過程中并不常見,除非你的應用足夠簡單。在iOS開發中常用的視圖切換有三種,今天我們將...

    執著丶執念5282021-01-16
  • IOS詳解iOS中多個網絡請求的同步問題總結

    詳解iOS中多個網絡請求的同步問題總結

    這篇文章主要介紹了詳解iOS中多個網絡請求的同步問題總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    liang199111312021-03-15
  • IOSiOS開發技巧之狀態欄字體顏色的設置方法

    iOS開發技巧之狀態欄字體顏色的設置方法

    有時候我們需要根據不同的背景修改狀態欄字體的顏色,下面這篇文章主要給大家介紹了關于iOS開發技巧之狀態欄字體顏色的設置方法,文中通過示例代碼...

    夢想家-mxj8922021-05-10
  • IOSiOS中MD5加密算法的介紹和使用

    iOS中MD5加密算法的介紹和使用

    MD5加密是最常用的加密方法之一,是從一段字符串中通過相應特征生成一段32位的數字字母混合碼。對輸入信息生成唯一的128位散列值(32個字符)。這篇文...

    LYSNote5432021-02-04
  • IOSiOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    這篇文章主要介紹了iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果的相關資料,需要的朋友可以參考下...

    jiangamh8882021-01-11
  • IOSiOS實現控制屏幕常亮不變暗的方法示例

    iOS實現控制屏幕常亮不變暗的方法示例

    最近在工作中遇到了要將iOS屏幕保持常亮的需求,所以下面這篇文章主要給大家介紹了關于利用iOS如何實現控制屏幕常亮不變暗的方法,文中給出了詳細的...

    隨風13332021-04-02
主站蜘蛛池模板: 天天舔天天干天天操 | 日本午夜色 | 亚洲精品日韩专区在线观看 | 日韩精品一区二区三区毛片 | 成人嗯啊视频在线观看 | 亚洲咪咪 | 美女脱一光二净的视频 | 波多野结衣女教师在线观看 | 肥胖女性大bbbbbb视频女厕 | 皇上好大好硬好涨好深好爽 | 免费在线观看小视频 | 恩不要好大好硬好爽3p | 国产成人刺激视频在线观看 | 色播影音先锋 | 亚洲天堂精品在线观看 | 国产在线视频自拍 | 国产亚洲福利精品一区二区 | 国产午夜成人无码免费看 | 乌克兰17一18处交 | 欧美成人三级伦在线观看 | 亚洲欧美综合一区 | 羞羞在线观看 | 亚洲免费色图 | 91久色 | 2023毛片| 日韩在线视频免费不卡一区 | 国产亚洲sss在线播放 | 天天操天天射天天色 | 亚洲 欧美 国产 综合 播放 | 风间由美理论片在线观看 | 特黄特黄一级高清免费大片 | 亚洲图片 自拍偷拍 | 亚洲视频在线观看免费视频 | 国产女主播在线播放一区二区 | 国产拍拍拍 | 亚洲性色永久网址 | 九九艹 | 美女草b | 欧美日韩国产亚洲人成 | 4虎影视国产在线观看精品 4s4s4s4s色大众影视 | avidolz性教师|