學習筆記一、UITableView上下滾動導航欄漸變隱藏和顯示效果
大體思路:定義一個UINavigationBar的Category,在NavigationBar頂層增加一個檢視overlay。滾動時通過設定overlay檢視的背景色和透明度來達到隱藏和顯示導航欄效果。程式碼如下:
#import <UIKit/UIKit.h>
@interface UINavigationBar (CustomNavigationBar)
- (void)setCustomBackgroundColor:(UIColor *)backgroundColor;
@end
#import "UINavigationBar+CustomNavigationBar.h" #import <objc/runtime.h> @implementation UINavigationBar (CustomNavigationBar) static char overlayKey; - (UIView *)overlay { return objc_getAssociatedObject(self, &overlayKey); } - (void)setOverlay:(UIView *)overlay { objc_setAssociatedObject(self, &overlayKey, overlay, OBJC_ASSOCIATION_RETAIN); } - (void)setCustomBackgroundColor:(UIColor *)backgroundColor { if (!self.overlay) { [self setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; [self setShadowImage:[UIImage new]]; //需要遮住狀態列 self.overlay = [[UIView alloc] initWithFrame:CGRectMake(0, -20, [UIScreen mainScreen].bounds.size.width, 64)]; self.overlay.autoresizingMask = UIViewAutoresizingFlexibleWidth ; [self insertSubview:self.overlay atIndex:0]; } self.overlay.backgroundColor = backgroundColor; }
tableview滾動時,呼叫方法設定導航欄背景色:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView { UIColor *color = [UIColor blueColor]; CGFloat offsetY = scrollView.contentOffset.y; if (offsetY > 0) { CGFloat alpha = 1- (64 - offsetY) / 64; [self.navigationController.navigationBar setCustomBackgroundColor:[color colorWithAlphaComponent:alpha]]; } else { [self.navigationController.navigationBar setCustomBackgroundColor:[color colorWithAlphaComponent:0]]; } }
相關推薦
學習筆記一、UITableView上下滾動導航欄漸變隱藏和顯示效果
大體思路:定義一個UINavigationBar的Category,在NavigationBar頂層增加一個檢視overlay。滾動時通過設定overlay檢視的背景色和透明度來達到隱藏和顯示導航欄效果。程式碼如下: #import <UIKit/UIKit.h&g
UINavigationController導航欄的隱藏和顯示
- (void)viewWillAppear:(BOOL)animated { [super.navigationController setNavigationBarHidden:YES a
點選頁面,UINavigationController導航欄的隱藏和顯示
在iphone的照片庫中,顯示照片列表中,導航欄可以自動顯示和隱藏。許多應用中也用到了導航欄中的隱藏和顯示,實現效果如下圖: 點選頁面,導航欄隱藏: 下面是具體的實現過程。 首先建立工程,iphone.navta. 然後開啟MainWindow.xib 新增UINavi
《JavaScript高級教程》學習筆記一、變量和數據類型
body 統一 () 邏輯 obj mas 沒有初始化 關系 可變 JavaScript的核心語言特性在ECMA-262中是以名為ECMAScript的偽語言的形式來定義的。 一、變量和數據類型 1. 變量 JavaSript是弱類型語言,可以通過var定義任
深入理解JVM學習筆記(一、總覽)
1、JVM歷史2、JVM記憶體結構3、JVM垃圾回收機制4、JVM效能監控工具5、JVM效能調優案例時間6、JVM類檔案結構7、JVM類載入機制8、JVM位元組碼執行引擎9、JVM虛擬機器編譯及其執行時
libevent學習筆記 一、基礎知識
注:./configure --prefix=/home/mjf/lib 因為如果我不加prefix,後面執行示例程式的時候會如下錯誤:error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file
學習筆記一、Python pip包安裝
1、下載pip安裝包 下載地址https://pypi.python.org/pypi/pip#downloads : 選擇source類下載 File Type Py Version Uploaded on Size Source 2016
srping-data學習筆記一(傳統方式訪問數據庫實現和弊端分析)
https 下載 edi 存在 關系型 mys work rpi nbsp spring-data是一系列項目的集合,涵蓋訪問關系型、非關系型等各種數據源的子項目 spring data jpa 關系型 spring data mongo db spring data r
Bootstrap 學習筆記 項目實戰 響應式導航欄
span navbar fault logo zh-cn sig con href meta 導航代碼HTML: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta
Mongodb學習筆記三、使用asp.net在Mongodb中儲存和讀取圖片檔案
今天練習瞭如何使用c# driver儲存和讀取圖片。 廢話不多說,直接上程式碼。 一、儲存圖片(檔案應該也一樣): private void SaveImgBJSON(string id, byte[] byteImg) {
VUE2.0學習筆記(二):底部導航欄
用VUE2.0寫一個放在微信公眾號裡的移動網站。一:微信公眾號裡的頁面是自帶一行深色的標題欄的,如下圖:中間的title文字是可以自定義的,所有我們不需要為我們的vue頁面做一個公共的頂部欄。配置方法如下:1、在main.js檔案里加入以下程式碼:router.beforeE
一起學ASP.NET Core 2.0學習筆記(一): CentOS下 .net core2 sdk nginx、supervisor、mysql環境搭建
image dev 預覽 def star fig brush rest aspnet 作為.neter,看到.net core 2.0的正式發布,心裏是有點小激動的,迫不及待的體驗了一把,發現速度確實是快了很多,其中也遇到一些小問題,所以整理了一些學習筆記: 閱讀目
React 學習筆記 (一)(建立元件、繫結資料、繫結屬性、迴圈資料、引入圖片)
使用 create-react-app 快速構建 React 開發環境 $ cnpm install -g create-react-app $ create-react-app my-app $ cd my-app/ $ npm start 建立元件、繫結資料、繫結屬性、迴圈資
深度學習筆記一: LeNet-5、AlexNet 和 VGGNet等網路模型的小結
最近在學習吳恩達Andrew Ng的深度學習課程,之前對這幾個網路還比較混亂,現在記錄一下: LeNet-5神經網路的貢獻: 1.這是一個比較早的網路模型,其中在卷積層後面加入池化層的思想先今還在使用。 2.在最後的卷積層接入池化層和全連線層在當前也比較常用。 出
Apache Ignite 學習筆記(一): Ignite介紹、部署安裝和REST/SQL客戶端使用
Apache Ignite 介紹 Ignite是什麼呢?先引用一段官網關於Ignite的描述: Ignite is memory-centric distributed database, caching, and processing platform for transactional, analyt
ES6學習筆記一之js發展、let、const、解構賦值
ECMAScript和JavaScript的關係? 1996年11月,JavaScript的創造者—-Netscape公司,決定將JavaScript提交給國際標準化組織ECMA,希望這種語言能成為國際標準。次年,ECMA釋出262號檔案(ECMA-262)的
Typescript 學習筆記一:介紹、安裝、編譯
前言 整理了一下 Typescript 的學習筆記,方便後期遺忘某個知識點的時候,快速回憶。 為了避免凌亂,用 gitbook 結合 marketdown 整理的。 若是有不對的地方,歡迎留言指出。 眾所周知,JavaScript 是弱型別的,而這對開發人員來說,在一定程度上算是一個“痛點”。解
CSDN機器學習筆記一 概述、線性迴歸
一、課程知識點 講師:唐宇迪 本次課程 1.系列課程環境配置 2.機器學習概述 3.線性迴歸演算法原理推導 4.邏輯迴歸演算法原理 5.最優化問題求解 6.案例實戰梯度下降 一、機器學習處理問題過程及常用庫 1. 機
EF6學習筆記一:code-first簡單創建數據庫、表的一些過程
time img install 類名 開啟 屬性 bject nbsp 程序包管理 我的EF學習筆記是按照 汪鵬(網名Jeffcky) 大俠《你必須掌握的Entity Framework 6.x與Core 2.0》來弄的。 這也是我第一篇博客,感覺這東西不能亂寫啊,算
EF6學習筆記一:code-first簡單建立資料庫、表的一些過程
我的EF學習筆記是按照 汪鵬(網名Jeffcky) 大俠《你必須掌握的Entity Framework 6.x與Core 2.0》來弄的。 這也是我第一篇部落格,感覺這東西不能亂寫啊,算了,幹吧。 EF我之前是做過的,但是隻是一些零碎的東西,不成系統。 EF是什麼呢?ORM框架objec