【问题标题】:iPad - Resizing a modal UIViewControlleriPad - 调整模态 UIViewController 的大小
【发布时间】:2010-02-11 18:51:52
【问题描述】:

我正在尝试在 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 model-view-controller


【解决方案1】:

尝试阅读有关模态视图的 iPad HIG 部分。很清楚为什么那行不通。由于我们处于 NDA 之下,没有任何机构可以真正告诉您不在 Apple 开发表单中的信息。但是,如果我是您,我将使用的解决方案不是特定于 iPad 的,而是相当多的 iPhone 应用程序已经做了一段时间了。使用 UIAlert 视图并将两个文本字段放入其中?缺点是您不能使用 IB 进行布局。 Tutorial

【讨论】:

  • 是的,我也读过它,我认为登录是您可以使用模态状态的东西。但是您提出的建议也违反了人机界面准则,因为我滥用了警报对话框。也许我会使用弹出视图来代替登录。
  • 我并不是说您尝试做的事情违背了 HIG 我只是说 HIG 解释了为什么您尝试做的事情不起作用。我之前听说过滥用警报对话框评论,但是大量应用程序正在通过这种方式使用警报视图获得批准。甚至 Apple 也以这种方式使用它。如果您在 iPod touch/iPhone 上注销 iTunes 帐户,然后尝试购买一些东西,它会弹出一个带有用户名和密码文本框的 UIAlertView。弹出窗口可能适用于您的情况,但由于用户可以关闭弹出窗口,因此它可能无法正常工作,因为没有登录应用程序中有什么可做的?
  • 我从不担心它是否会得到苹果的认可。我只是关心用户体验。人们不会“期望”弹出警报中的文本输入框。这就是为什么遵循指南是好的原因。但你是对的,Apple 也在 appstore 中做到了这一点。但是弹出窗口可能会起作用,因为您在未登录时仍然可以做其他事情。无论如何,我认为您毕竟给出了正确的答案:您根本无法调整模态视图的大小。 =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-01
  • 2012-01-05
相关资源
最近更新 更多