![]() |
1
17
我认为 "Launching in Landscape Mode" 的 iOS Application Programming Guide
我读到第一段说iOS应用程序总是以纵向模式启动,然后根视图控制器旋转其视图以立即匹配设备方向,并且在添加到窗口后不带动画。这意味着UIWindow本身不会旋转,因此其尺寸将始终以纵向为单位(如tadej5553所说)。此外,所有UIWindow子视图的框架也将是纵向的(因为框架总是在父视图的坐标中定义的)。因此,无论你如何旋转设备,根视图控制器的框架将始终是一个肖像方向。但是,由于视图的边界属性是根据其自身的坐标定义的,因此该高度和宽度应反映视图的当前方向。 目前还不清楚你想用你真正的应用来完成什么,但推荐的做法是将你的视图按纵向排列,然后设置它们的自动调整大小属性来处理自动旋转(无论是在应用程序启动后立即还是以后)。 |
![]() |
2
10
UIWindow对旋转一无所知。旋转方法封装在UIViewController中。(自动旋转等) UIAlertView使用UIApplication的 状态定向 属性来选择警报的方向。
从SDK头部可以看到,statusBarOrientation不会自动更改。因此,您或UIViewController(自动旋转)应该更改此属性。 如果启动纵向(与UIWindow的默认方向一致),并使用 应自动旋转指针面方向 让UIViewController来处理旋转,它会改变UIApplication的 状态定向 但如果您以横向模式启动,则应手动设置 状态定向 就一次。
|
![]() |
3
6
使用视图的边界 |
![]() |
4
4
但是对它的看法会给出正确的测量(关于方向),所以一定要使用那些。 |
![]() |
5
3
尝试设置而不是手动修改状态栏
手动设置状态栏方向有点“低级”。视图控制器也需要返回
|
![]() |
6
3
向应用程序委派添加一点代码:
我想关键是视图,我试过不用它,在iPhone上它运行得很好,在iPad上,尽管正如你说的那样,警报以纵向模式出现。当我将视图添加回所需的横向模式下显示的警报时。 |
![]() |
7
0
我什么都没有,只是硬编码我的应用程序到景观只有模式的问题。很多时候没有视觉问题,但在底部20像素的按钮无法选择。我在我的主UIWindow上做了一个cliptobunds,并在它的层上添加了一个边框,我可以看到UIWindow在状态栏下。我尝试将我的UIWindow的x偏移量更改为20(UIWindow仍为纵向,其内容为横向),但这意味着我的uicontroller向下移动了20像素(不知道为什么)。虽然这是一个不同的问题,你的我也发现了同样的问题,因为边界和帧打印时似乎是正确的。 总之,我将我的plist从uiInterfaceOrientationAndscapeLeft更改为uiInterfaceOrientationAndscapeRight,还将我的UIViewController方法更改为:
如果这能解决你的问题,告诉我 |
![]() |
ThomThomPhao · 在另一个视图中访问变量以重置它 2 年前 |
![]() |
bvh · 禁用UISearchBar中的搜索字段 6 年前 |
![]() |
Pradumna Patil · REST API的问题 6 年前 |
![]() |
yakovlevvl · iPad和iPhone的不同UI 7 年前 |
|
Swathi · 我想用JSON数据生成tableview表单[关闭] 7 年前 |
![]() |
Zander · 带伸缩高度的iPad 7 年前 |