UITableView 一直顯示捲軸(ScrollBar Indicators)、捲軸Width(寬度)、捲軸Co

來源:互聯網
上載者:User

在 IOS 中,對 UIScrollView 的捲軸(ScrollBar Indicators)的自訂設定介面,一直都是很少的。除了能自訂簡單的樣式(UIScrollViewIndicatorStyle)和是否啟用外,對於 一直顯示捲軸、自訂捲軸(ScrollBar Indicators)的Width 、顏色等,都是不能很方便的設定的。 雖然不能很方便,但是還是能實現的。通過一天的努力,不斷的 google 和 overflow,終於找到了幾個比較完美的解決辦法。

本文禁止任何網站轉載,嚴厲譴責那些蛀蟲們。
本文首發於,部落格園,請搜尋:部落格園 - 尋自己,查看原版文章
本文首發地址:UITableView 一直顯示捲軸(ScrollBar Indicators)、捲軸Width(寬度)、捲軸Color(顏色) - http://www.cnblogs.com/xunziji/p/3248850.html

  

下面先來一步步的分析:

 1. 那些控制項可以設定捲軸(ScrollBar Indicators)

因為UIScrollView 是 UITableView 和 UITextView 的父類,所以可以設定的Controll: UIScrollView, UITableView, UITextView.

 

2. UIScrollView 的 - (void)flashScrollIndicators 方法

該方法是調用 object-c 方法顯示 UIScrollView 的捲軸(ScrollBar Indicators)。但是悲劇的是捲軸(ScrollBar Indicators) 只會顯示大概1.5秒左右的時間,就會自動隱藏。不過該方法還是有一定的應用情境,比如你認為只要在 UIScrollView Load 的時間,右側顯示2秒的捲軸就能起到提示作用,那這個方法剛好滿足你:[tableProdList reloadData]; if (tableProdList.contentSize.height > tableProdList.frame.size.height){ tableProdList flashScrollIndicators]; }

 

3. 捲軸(ScrollBar Indicators)是什麼東西、是如何顯示和隱藏掉的

UIScrollView 的 捲軸(ScrollBar Indicators),就是預設右側的 darkgray 條,當你滾動一個 UIScrollView 的時間,這個捲軸就會顯示,並且顯示和隱藏都是淡入和淡出的。這是,你或許就能猜到是什麼了:UIImageView. 捲軸就是一個UIImageView,那個捲軸就是一個圖片而已。而捲軸的消失、隱藏淡入淡出,都是設定的 UIImageView的 -(void) setAlpha 方法。

 

本文禁止任何網站轉載,嚴厲譴責那些蛀蟲們。
本文首發於,部落格園,請搜尋:部落格園 - 尋自己,查看原版文章
本文首發地址:UITableView 一直顯示捲軸(ScrollBar Indicators)、捲軸Width(寬度)、捲軸Color(顏色) - http://www.cnblogs.com/xunziji/p/3248850.html4. 讓捲軸一直顯示 的第一種方法(如果你要快速解決問題,請直接看最後一種更完美、更快速的解決辦法)

在 StackOverFlow 上找解決辦法的時候,很多問題的答案都指向這段代碼:  

 noDisableVerticalScrollTag 836913 noDisableHorizontalScrollTag 836914- () setAlpha:( (self.superview.tag == (alpha ==  && self.autoresizingMask == (self.frame.size.width <  && self.frame.size.height >*sc = (UIScrollView* (sc.frame.size.height < (self.superview.tag == (alpha ==  && self.autoresizingMask == (self.frame.size.height <  && self.frame.size.height <*sc = (UIScrollView* (sc.frame.size.width <

 

剛看到這段代碼的時間,我想:這什麼叼毛代碼,我要設定 UIScrollView , 你卻設定 UIImageView; 我要設定 ScrollBar Indicators,你卻設定 alpha。況且這段代碼要怎麼用,我靠,原文就貼出來了這段代碼,連解釋都沒有。結果害我走了好多彎路,豈不知,這段代碼就能很完美的解決。

 

首先要解釋下這段代碼,不然被其他苦逼的、熬夜的、加班的程式猿看到了,也不會用,我豈不是要被罵了?:

 

a. 這是一個 Category Objective-C提供了一個非常靈活的類(Class)擴充機制-類別(Category)。類別用於對一個已經存在的類添加方法(Methods)。你只需要知道這個類的公開介面,不需要知道類的原始碼。需要注意的是,類別不能為已存在的類添加執行個體變數(Instance Variables)。 所以這段代碼是繼承了 UIImageView 類,並重寫了 setAlpha 方法。關於如何把這段代碼添加到項目中,見:

prodDetailsTable.tag = ;

 

c. 要在 UIScrollView 資料繫結後,即載入完成後:flashScrollIndicators


 

 

本文禁止任何網站轉載,嚴厲譴責那些蛀蟲們。
本文首發於,部落格園,請搜尋:部落格園 - 尋自己,查看原版文章
本文首發地址:UITableView 一直顯示捲軸(ScrollBar Indicators)、捲軸Width(寬度)、捲軸Color(顏色) - http://www.cnblogs.com/xunziji/p/3248850.html

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.