تعيين "عتامة" من cglayer قبل السحب؟
سؤال
لدي فئة Subclass Uiview - في الواقع قطعة ألغاز - مع CGLayer 2 مختلفة تهيئة في initwithframe.
في ورشة لي امزج هذا الطبقة, ، وينبغي أن يكون الجزء العلوي متغير ألفا اعتمادا على منطق اللعبة.
ما هو أفضل طريقة (معظم الأداء الأمثل) للقيام بذلك؟ هل هناك أي وظيفة cglayer، أو وظيفة cgcontext التي تحدد بعض ألفا قبل الرسم؟
المحلول
تعيين -opacity
من الطبقة. تذكر أن الطبقة -opaque
يجب أن يكون الإعداد لا. الافتراضي هو لا، ولكن عادة ما يتم تعيينه على نعم لأسباب الأداء.
إذا كنت تفعل بالفعل -drawInContext:
, ، ثم يمكنك تجربة CGContextSetAlpha()
. وبعد عموما، رغم ذلك، أنت لا تستخدم -drawRect:
والطبقات في نفس الوقت. يمكنك عادة إما الرأي أو الطبقات تفعل الرسم.
لا تنتمي إلى StackOverflow