iPad-调整模式UIViewController的大小

iPad-调整模式UIViewController的大小,ipad,model-view-controller,Ipad,Model View Controller,我试图在iPad上使用presentModalViewController显示登录屏幕 LoginFormController *controller = [[[LoginFormController alloc] initWithNibName:@"LoginFormView" bundle:nil] autorelease]; [controller setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; [control

我试图在iPad上使用presentModalViewController显示登录屏幕

LoginFormController *controller = [[[LoginFormController alloc] initWithNibName:@"LoginFormView" bundle:nil] autorelease];
[controller setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[controller setModalPresentationStyle:UIModalPresentationFormSheet];
[self controller:loginFormController animated:YES];
无论我在Interface Builder中将视图设置为什么大小,它总是调整为540x620左右。但登录屏幕只不过是两个文本字段和一个按钮。所以我只需要它是460x240


有人知道调整大小的方法吗?

试着阅读iPad HIG中关于模态视图的部分。这很清楚为什么行不通。没有人能真正告诉你,如果不是在苹果的开发形式,因为我们是在保密协议。然而,如果我是你,我会使用的解决方案不是特定于iPad的,而是相当多的iPhone应用程序已经做了一段时间了。使用UIAlert视图并在其中放置两个文本字段?缺点是你不能用IB来布局。

是的,我也读过,我认为登录是一种可以使用模态状态的功能。但你的建议也违反了人机界面的指导原则,因为我滥用了警报对话框。也许我会使用popover视图来代替登录。我不是说你试图做的事情与HIG背道而驰,我只是说HIG解释了为什么你尝试的东西不起作用。我以前听过关于滥用警报对话框的评论,但是现在很多应用程序都是通过这种方式使用警报视图获得批准的。就连苹果也这样使用它。如果你在iPod touch/iPhone上注销iTunes帐户,然后尝试购买一些东西,它会弹出一个带有用户名和密码文本框的UIAlertView。popover在您的情况下可能会起作用,但由于用户可以取消popover,它可能不会起作用,因为没有登录应用程序中有什么可以做的呢?我从不担心它是否会得到苹果的批准。我只是关心用户体验。人们不会“期望”弹出警报中的文本输入框。这就是为什么遵循指南是好的。但你是对的,苹果也在appstore中这样做。但是popover可能会起作用,因为您在未登录时仍然可以执行其他操作。无论如何,我认为您毕竟给出了正确的答案:您根本无法调整模式视图的大小不确定为什么响应是无法完成或您应该使用警报。这里提供了一个完美的答案: