On Jan 15, 2010, at 4:10 PM, Rick Mann wrote:

>> If not, this could be done (with performance penalty) using the layer's mask 
>> property. Simplest way I can think is to make a new layer, assign the 
>> contents of the parent layer to that new layer's contents, then assign that 
>> layer as the mask of all subviews. This may require a bit of futzing around 
>> to get right however.
> 
> The subviews will consist of a UIScrollView and a set of UIButtons. 
> Generally, I'd like to avoid subclassing them, if possible. I'm implementing 
> a control with behaviors very similar to a horizontal UIPickerView. 
> Unfortunately, it lives in a non-rectangular shape, and the surrounding 
> elements are transparent and should NOT show the control underneath.


I don't see any reason why the mask property wouldn't work for that, as log as 
the performance is acceptable to you (I believe using a mask will cause an 
offscreen render to occur). That said, if you can possibly invert this (that 
is, invert the mask and draw the content *above* the others) you should have 
better performance.

That and I think I spoke a little fast on the exact usage of the mask – iirc, 
you should only need to apply it to a common parent and it should affect all 
children as well.
--
David Duncan
Apple DTS Animation and Printing

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to