I have done something very similar to this question. I have created a MonoTouch DialogViewController which has a bunch of EntryElements in it used to capture information for a user registering. I then add this DialogViewController into another UIViewController:
registerDialog = new RegisterDialog (); // the dvc
registerDialog.View.Frame = new RectangleF (0, 60, 320, View.Frame.Height - 60);
registerDialog.TableView.BackgroundView = null; // make the background transparent
Add (registerDialog.View);
The problem comes when the user clicks on an EntryElement. The keyboard shows up and for the first few EntryElements everything is fine as the keyboard does not hide anything. As you progress through the EntryElements, the DialogViewController no longer scrolls the elements above the keyboard. Basically the scrolling of the DialogViewController breaks.
This is caused by adding the DialogViewController's View into another view. It works perfectly when pushing the DialogViewController onto a UINavigationController normally:
NavigationController.PushViewController (new LoginScreen (), true);
Is this a bug or is there something I can override to fix the scrolling?
EDIT
Screenshot 1: The DialogViewController with some EntryElements. I have scrolled down to the bottom - there are more EntryElements above Last Name.
Screenshot 2: What happens when I tap the Email EntryElement. You can very clearly see the DVC has not scrolled the table view up whereas it normally does this.