Question: While creating a WCF data service, we do not have to define Endpoints in the config. What is the type of Binding that it uses, by default? Is there a way we can change the type of Binding being used?

Answer: 
Ok, I have one solution to this problem.

Instead of having my current view controller call `presentModalViewController`, I call it from the appDelegate `tabBarController` like so:

```
[[(myAppDelegate *)[[UIApplication sharedApplication] delegate] tabBarController] presentModalViewController:self.myModalViewController animated:YES];

```

This still feels a bit hacky, but it solves both problems of

1) resizing when the modal view is dismissed

2) the modal view being unable to pop up in landscape mode

I hope this can help someone else out there in this cruel Apple world.
If you have a nib associated with the views - go into the nib for each view and set the following attributes on the main view in each nib:

status bar: unspecified

top bar: unspecified

bottom bar: unspecified

Then in the size:
x:0,y:0,W:320,H480

Back in the code after you've allocated each view also set the 'wantsFullScreenLayout' property to TRUE on each view.

Edit: explanation (? maybe ? :-))

If you have a status bar specified in the nib then the uikit automatically adjusts your views to cater for the status bar (and you'll see that your view yorigin is 0 and height is 460 in the nib) but if you look at the offset/height in the frame in your viewDidAppear method its been set to 20/460 to cater for the status bar. 

For some reason presenting modal view controllers seems to mess with this and adjust for the status bar again, shifting your view down another 20. Setting status bar to unspecified and setting wantsFullScreen layout stops uikit messing with your frame and gives you control (hence setting height to 480 in the nib sizing). 

You will also need to move all of your view elements down by 20 to cater for the status bar height in the 480 height view.