Re: [問題] 請問UIScrollView捲動時文字變色
※ 引述《rabbithenry (崽子兔)》之銘言:
: 想請問各位一個問題,我苦思了好久。
: 如果我想做個UIScrollView,上面有一堆UILabel還有一個類似Mask的UIImageView(或是直接用Quartz2D畫的半透明方塊)
: 然後當捲動時,文字到那上面會變色,不知道這樣的UI有可能做到嗎?(除了全部用Quartz 2D去繪製,因為要用UIScrollView的捲動功能)
: 我有想過用CALayer可是好像找不到這樣的Layer可以用,然後試過在drawRect中繪製卻沒辦法在捲動中不斷的觸動。都失敗
: 或是UIScrollView 在捲動的過程中可以不斷抓到中間的值嗎?因為我發現用NSTimer,在捲動時就會停下來...
: 麻煩各位解答一下我的疑惑了,謝謝
: http://i.imgur.com/MB5LJ.png
<-- 示意圖
簡單解講一下好了。
首先,一直呼叫 drawRect: 不是好方法,這樣很沒效率。
比較簡單的作法是,我們一開始就準備好兩張圖片,一張是原圖,
另外一張改變了原圖的顏色,我們叫他變色圖好了。我們把原圖放
在 scrollview 當中,然後把變色圖疊上去,然後在變色圖上面加
個裁切範圍,只會顯示變色圖當中的一部分。
接著,每次 scroll 的時候,去改變一下變色圖被裁切的部份就好了。
圖片變色:我是用 CIFilter,不過好像也可以直接在 Photoshop
先做好…。
Scroll:用 UIScrollView 的 delgate 就可以了
裁切變色圖:CALayer 的 super layer 或 UIView 的 super view
比自己小的時候,就可以裁切原本的內容。
以上。
--
zonble.net
cocoa.zonble.net
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.177.1
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):