On Dec 8, 2009, at 4:40 PM, Duccio wrote:

> Il giorno 09/dic/2009, alle ore 00.57, Luke the Hiesterman ha scritto:
> 
>> 
>> On Dec 8, 2009, at 3:51 PM, Mike Abdullah wrote:
>> 
>>> Other alternatives:
>>> 
>>> - Subclass UINavigationController to return a custom view from 
>>> -navigationBar.
>>> - Add a custom subview to the nav bar to do your drawing.
>> 
>> I recommend neither of these. It's already been brought up that 
>> UINavigationController shouldn't be subclassed, and it isn't meant as a 
>> container for arbitrary views, either. If you really aren't satisfied with 
>> using a tint color for the background, file an ER asking for an API to 
>> provide a background image.
>> 
> 
> So, just to understand, why can I do that through IB but not (legally) via 
> code? The ability to choose a class for the navigation bar in a navigation 
> controller should have been blocked in IB? 
> 
> You says about change Navigation Bar class to my subclass in IB "recommend 
> avoiding even using this approach in IB", why? Should I read this in 
> documentation or I would have inferred by readonly navigationBar property 
> (because next time I would not ask the list similar question/problem)?
> 
> I started working with Cocoa Touch a few days ago and I will not only learn 
> the techniques but also best practices, philosophy and so on...

Yes, the readonly is the key. Using IB to set the class of the navBar can be 
thought of as a sort of work-around to the issue that a readonly property isn't 
meant to be directly changed. Note, though, that you can safely modify 
writeable properties of a readonly property. Example:

UINavigationController has a navigationBar property, which is readonly, so you 
can't change it, but...
UINavigationBar has a tintColor property which IS writeable, so while you can't 
provide a different navigationBar, you can modify some properties of the bar 
itself.

Hope that helps, and I wish you the best writing great iPhone code!

Luke_______________________________________________

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