I have actually made a little progress on this, and hope no one minds if I ask for more advice. (Failing all else, this long message may help you sleep ...)
First, as Matt suggested, I did set a breakpoint in the code -- and "shouldAutorotateToInterfaceOrientation" is indeed not being called. (And breakpoints, logging output, and app behavior all confirm that the relevant instance of my UIViewController subclass is being loaded and is running.) Second, I build an "empty" single-view iPad app as a comparison case -- just let the Xcode template generate it and added no code or resources. On setting a breakpoint in that code, I find that its "shouldAutorotateToInterfaceOrientation" *is* being called, and the call stack shows that the first call happens deep within the statement "[window addSubview:viewController.view];", within the code in the app delegate (constructed by the template) for "application:didFinishLaunchingWithOptions:". There are a lot of frames on the stack between "shouldAutorotate ..." and "addSubview", all of which are for private internals stuff, so it is hard to break on any of the interim function calls, or to investigate what is going on in them. When I break at the "addSubview" line in my misbehaving app, I can stop there, but any attempt to step into the call does nothing. It looks like for some reason, in my code, "addSubview" is not being called, or perhaps it is inlined and some of the calls that it makes are not being called. After a little nosing around, I found a possible explanation for that, that explained some of other problems I have had but had not mentioned here. My code has the usual two xib files: The first contains (among other things) the instance of my subclassed UIViewController; the second contains the actual instance of UIView that my subclassed UIViewController is supposed to control. The File's Owner stand-in object in the second xib file has the same class type as my subclass, and such of its IBOutlet slots as should point to things in that second xib file are properly hooked up. Investigation revealed, however, that though the desired instance of my subclassed UIViewController was in fact getting loaded and some of its code is running, the IBOutlets that I hooked up from the File's Owner in the second xib file, to the desired objects in that file, were *not* getting initialized at load- and run-time; they all were ending up nulls. There is supposed to be a mechanism that tracks down these links and makes them right in the real instance of the subclassed UIViewController that is created at load-time, but that mechanism was not working for me. After looking at much documentation and checking lots of things (spellings right, class types declared properly, IBOutlets all set up as properties with @property and @synthesize, NIB Name correctly declared in the IB inspector, et cetera), I simply added a specific load of the relevant xib file in the code for my app's "application:didFinishLaunchingWithOptions:", just before the "addView" wherein the call to "shouldAutorotateToInterfaceOrientation" should occur. (The relevant code is [[NSBundle mainBundle] loadNibNamed:@"Pixie_Scheme_IIIViewController" owner:viewController options:nil]; and I have wrapped it with NSLogs to be sure it runs, checked it for null return, and so on.) That code alone was sufficient to cause the null IBObject links that I mentioned earlier, to be resolved properly at run time. I have not had to do anything with the NSArray of top-level objects that it returns, to make that happen. HOWEVER, "shouldAutorotateToInterfaceOrientation" still is not getting called. Any further suggestions or observations? And anyone who has read through all this deserves my heartfelt thanks just for doing so ... :-) -- Jay Reynolds Freeman --------------------- jay_reynolds_free...@mac.com http://web.mac.com/jay_reynolds_freeman (personal web site) _______________________________________________ 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