views:

170

answers:

1

I've been working today on adding a sheet to the main window of my application. After having trouble seperating the two (main view/controller and sheet view/controller), I've gone with just having both views in the same xib and both controlled by the main controller. Now that it appears when the beginSheet method is called, I've designed the form, and hooked it up to the IBOutlets/Actions on my controller.

This is where the problem is. With no bindings between the forms objects and the controller, it displays perfectly. But when I connect buttons to IBActions, and text fields/imageviews to IBOutlets I encounter some weird display problems. I'm talking buttons not displaying (but the actions being executed when clicking where they should be), borders of NSBox's not showing and textfields not taking any typed text and displaying (still blank) further off the viewable area of the panel.

I discovered that I could rectify this by resizing the panel a little, but that's not usable. I did get it working fine with 3 textfields and 3 buttons and just close/minimize enabled (not that they actually seem to do anything to a sheet), but now I've hooked an imageview up to the controller and the one of the buttons isn't displaying again.

Is this something to do with the number of outlets/actions I'm using (The actual main window doesn't actually have any extra ones) or is it IB being buggy or me doing something very wrong?

+1  A: 

My first suspicion would be that there is an exception being thrown somewhere during drawing the sheet. In my experience, that's usually the case when you get half-drawn controls like you're describing. Check the debugger console in Xcode to see if any error messages are being printed out there. You can also add a breakpoint on objc_exception_throw to have the debugger stop when an exception is thrown, that might shed further light on where exactly the problem is coming from.

Brian Webster
Unfortunatly there's nothing in the debugger console at all that suggests why it's happening. I added the breakpoint you suggested (Just to check Show Debugger->Breakpoints->Double-Click for Symbol and type in there?) and nothing new happened.
Septih