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