我有一個滾動視圖> ContentView> TextLabel安裝程序,其中漸變顯示,但不工作,我希望如何。這是一個清晰的背景scrollView,所以我正在尋找的是一個清晰的文字漸變蒙版。 I found something類似於我正在尋找Objective-C,但該線程沒有Swift解決方案。當滾動視圖的頂部/機器人漸變時有其他內容
我的最終目標看起來像大多數人可能會用到的,所以我很驚訝這裏還沒有Swift版本。我試圖編碼的功能是:
- 有時文本將完全適合scrollView的固定大小,所以應該沒有漸變。
- 如果文本長度超過了可以放置的長度,並且它的某些部分低於scrollView的底部截止點,則視圖的底部應該淡出以清除。
- 一旦用戶向下滾動,頂部應該消失,表明上面還有更多。
我嘗試這樣的代碼來處理子彈#2:
let gradient = CAGradientLayer()
gradient.frame = self.bio_ScrollView.superview!.bounds ?? CGRectNull
gradient.colors = [UIColor.whiteColor().CGColor, UIColor.clearColor().CGColor]
//gradient.locations = [0, 0.15, 0.25, 0.75, 0.85, 1.0]
gradient.locations = [0.6, 1.0]
self.bio_ScrollView.superview!.layer.mask = gradient
但它消失的一切,包括它下面的按鈕,這顯然不是在滾動視圖:
如果我刪除.superview並直接將其應用於scrollView,它只會淡化初始部分下方可見的所有文本:
有沒有人知道如何正確地實現這一點?
曾經爲我添加了一個擴展到UIScrollView使用isAtTop屬性。 http://stackoverflow.com/a/14745900/4228969 – toddg