【iOS開發(fā)】WKWebView調(diào)用系統(tǒng)相冊問題(二)

承接上文咕娄,H5頁面直接調(diào)用手機自帶相冊拘鞋、拍照功能時App端開發(fā)人員無法獲取跳轉(zhuǎn)的系統(tǒng)相冊及拍照界面,既然無法獲取該控制器射富,就會導(dǎo)致很多問題膝迎,上次講了iOS8及以下系統(tǒng)無法modal控制器的問題,本次將會講述如何在獲取不到控制器的情況下修改控制器的導(dǎo)航欄胰耗。
上文鏈接:【iOS開發(fā)】WKWebView調(diào)用系統(tǒng)相冊問題(一)
我想對于使用過系統(tǒng)相冊的人來說限次,如何修改導(dǎo)航欄樣式并不陌生,可以繼承之后重寫柴灯,可以設(shè)置代理修改卖漫。但是這些統(tǒng)統(tǒng)不好使了,因為跳轉(zhuǎn)出的控制器完全獲取不到赠群,只能用到接下來介紹的方法--黑魔法Swizzling羊始,其實對runtime耳聞已久,平時在開發(fā)中很少用到查描,借此機會記錄一下店枣。具體原理是給UIViewControlle創(chuàng)建分類UIViewController+Swizzling 速警,hook到-viewWillAppear: 方法叹誉,在交換的自己重寫的方法中改變導(dǎo)航欄的樣式鸯两,代碼如下:
1.自己實現(xiàn)的交換方法

- (void)swizzlingViewWillAppear:(BOOL)animated {
    [self swizzlingViewWillAppear:animated];

    if ([self isMemberOfClass:NSClassFromString(@"PUPhotoPickerHostViewController")] || [self isMemberOfClass:NSClassFromString(@"UIDocumentPickerViewController")]) {
        [self configureRongCloudNavigation];
    }
}

2.重寫load方法交換我們所寫的方法

+ (void)load {
    [super load];
    //原本的willAppear方法
    Method willAppearOriginal = class_getInstanceMethod([self class], @selector(viewWillAppear:));
    //用于交換的willAppear方法
    Method willAppearNew = class_getInstanceMethod([self class], @selector(swizzlingViewWillAppear:));
    //交換
    if (!class_addMethod([self class], @selector(viewWillAppear:), method_getImplementation(willAppearNew), method_getTypeEncoding(willAppearNew))) {
        method_exchangeImplementations(willAppearOriginal, willAppearNew);
    }
    
}

3.在- (void)configureRongCloudNavigation中設(shè)置導(dǎo)航欄樣式

    //點擊系統(tǒng)相冊彈出的控制器
    if ([self isMemberOfClass:NSClassFromString(@"PUPhotoPickerHostViewController")]) {
    }
    
    //點擊瀏覽彈出的控制器
    if ([self isMemberOfClass:NSClassFromString(@"UIDocumentPickerViewController")]) {
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末右遭,一起剝皮案震驚了整個濱河市沮峡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌寞酿,老刑警劉巖匠襟,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钝侠,死亡現(xiàn)場離奇詭異,居然都是意外死亡酸舍,警方通過查閱死者的電腦和手機帅韧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啃勉,“玉大人忽舟,你說我怎么就攤上這事』床” “怎么了叮阅?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長泣特。 經(jīng)常有香客問我浩姥,道長,這世上最難降的妖魔是什么状您? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任勒叠,我火速辦了婚禮,結(jié)果婚禮上膏孟,老公的妹妹穿的比我還像新娘眯分。我一直安慰自己,他們只是感情好骆莹,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布颗搂。 她就那樣靜靜地躺著,像睡著了一般幕垦。 火紅的嫁衣襯著肌膚如雪丢氢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天先改,我揣著相機與錄音疚察,去河邊找鬼。 笑死仇奶,一個胖子當(dāng)著我的面吹牛貌嫡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼岛抄,長吁一口氣:“原來是場噩夢啊……” “哼别惦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起夫椭,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤掸掸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蹭秋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扰付,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年仁讨,在試婚紗的時候發(fā)現(xiàn)自己被綠了羽莺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡洞豁,死狀恐怖盐固,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情族跛,我是刑警寧澤闰挡,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站礁哄,受9級特大地震影響长酗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜桐绒,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一夺脾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧茉继,春花似錦咧叭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至派撕,卻和暖如春婉弹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背终吼。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工镀赌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人际跪。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓商佛,卻偏偏與公主長得像喉钢,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子良姆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 很少有時間在家里肠虽,平時出差比較多,剛好今天休息歇盼,與家人共處卻發(fā)現(xiàn)一個小現(xiàn)象舔痕。關(guān)于早餐吃什么?這個問題在大多數(shù)家庭...
    Maggie_119閱讀 240評論 0 0
  • 我聽過梔子花開 可是花落不如曇花絕美豹缀; 青春 是這樣的呀。 我曾經(jīng)不懂世界 吃了核桃卻沒有聽見 敲砸的那道驚心慨代。 ...
    泛指燁閱讀 177評論 0 1
  • 濕地系列(一) 國慶假期收官之作 感謝各位朋友放假之際還愿意拿出時間來看本人的拙作邢笙!也非常感謝照片的拍攝者。 一個...
    平凡的我和我閱讀 305評論 2 4
  • 如果沒聽到過你喃呢 如果未窺探到你的艷麗 如果 你我不曾相遇
    霍亂之間閱讀 283評論 5 3