我創建了一個自定義的UIView,它使用Quartz重寫了drawRect方法。我最終設法讓所有事情都按照我想要的方式工作,但是卻有一種真正奇怪的行爲,我無法擺脫困境。石英2D繪圖alpha中淡入淡出的UIView
如果我使用定義爲=> (@interface TagView:UIView) 的自定義UIView,並將其alpha值設置爲1,那麼它將完全按照我的預期進行繪製。
我遇到的問題是,在一個特定的實例中,我希望它以0.3的alpha值繪製,因此我已將視圖添加到IB,alpha值爲0.3。我使用CGContextSetRGBStrokeColor和CGContextSetRGBFillColor繪製了許多具有不同RGB值的工件。這些都工作正常,直到我嘗試爲所有3個RGB值設置非零值。
爲了說明我是否使用: CGContextSetRGBStrokeColor(context,1,1,0,1); 然後我得到一條黃線。 如果我使用: CGContextSetRGBStrokeColor(context,1,1,0.001,1); 我什麼也沒得到。
似乎只要我將其中一個RGB值設置爲0,它就很高興並繪製出來,但只要所有三個值都非零,就會失敗。當視圖的alpha設置爲1.0時(即,我可以繪製白色而沒有任何問題),這一切都可以正常工作。
有沒有人有任何想法或建議,以什麼可能會導致這種情況或如何我可以診斷問題?