gpt4 book ai didi

iphone - 如何以编程方式创建横向 UIView?

转载 作者:行者123 更新时间:2023-12-03 20:32:37 25 4
gpt4 key购买 nike

我有一个具有固定横向方向的 iPad 应用程序。一切正常,直到我以编程方式创建 UIView 并将其添加到我的根 UIViewController 的 View 中 - 它的方向始终设置为纵向,而所有其他内容都以横向模式显示。这个 UIView 是一个模态视图,为用户显示一些自定义表单。

AlertView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
AlertView.opaque = NO;
AlertView.backgroundColor = [UIColor blackColor];
AlertView.alpha = 0.7;

<...> // some other configuration code

[window addSubview:AlertView];

所以问题是:如何启动横向的 UIView?我能想到的就是使用像这样的变换:

modalView.transform = CGAffineTransformMakeRotation( ( 180 * M_PI ) / 360 );

虽然这不是太优雅的方式......

最佳答案

AlertView 以纵向显示而应用程序的其余部分以横向显示的原因是因为您将 AlertView 添加为窗口的 subview ,而不是将其添加为 View Controller View 的 subview 。这将其放置在通过自动旋转自动转换的 View 层次结构之外。

应用程序的窗口对象通过查找具有相应 View Controller 的最顶层 subview 来协调自动旋转。设备旋转时,窗口会在此 View Controller 上调用shouldAutorotateToInterfaceOrientation:并根据需要转换其 View 。如果您希望 View 自动旋转,它必须是该 View 层次结构的一部分。

因此,不要使用 [window addSubview:AlertView];,而是执行类似 [self.view addSubview:AlertView]; 的操作。

关于iphone - 如何以编程方式创建横向 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6862009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com