一 埃篓、導(dǎo)航欄的漸變?cè)?/p>
1.首先我們先把導(dǎo)航欄弄透明了
? ? ? 那么我們首先得知道,設(shè)置navigationBar的BackgroundColor為Clear是沒用的,你可以試著設(shè)置它的clear驾茴,但是沒用,原因一會(huì)兒我們就知道了氢卡。
? ? ? 設(shè)置導(dǎo)航欄透明的方法是這樣的:
[self.navigationController.navigationBar?setBackgroundImage:[UIImage?new]
forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage?=?[UIImage?new];
? ? ? 你可以運(yùn)行這兩句話到你的程序锈至,你會(huì)發(fā)現(xiàn)這樣確實(shí)是可以的,那么我們可以從中得到幾個(gè)信息:
? ? 1)我們?cè)O(shè)置的是BackgroundImage,說明也許在我們的navigationBar上有一個(gè)ImageView的子視圖译秦,而我們的看到的導(dǎo)航欄實(shí)際上看到的就是這個(gè)圖片峡捡,因此設(shè)置它為無圖片我們就可以看到透明,而設(shè)置backgroundColor卻不行。
? ? 2)我們還設(shè)置了shadowImage為無圖筑悴,它其實(shí)就是導(dǎo)航欄下面的那根細(xì)線棋返,如果你不寫第二句話你則會(huì)看到一根線。
我們來看一下navigationBar的結(jié)構(gòu)圖
按照上面的方法來看應(yīng)該是繼承于我們所看到的應(yīng)該是UIImageView但是在里面卻看到的是以View命名雷猪,這個(gè)地方暫時(shí)沒搞定睛竣,我直接試了一下用ImageView和View都沒有錯(cuò)誤,畢竟imageView也是View的子類求摇,我們所設(shè)置的就是他的透明度
二射沟、關(guān)于圖片放大的方法,參照代碼
? ? ?下面直接上代碼吧github.com/shuaikun/NavigationBarGradientDemo