在 iPad 中旋转 UIWindow

发布于 2025-01-07 20:49:39 字数 109 浏览 0 评论 0原文

我正在创建一个支持所有类型方向的应用程序,我在 UIWindow 上添加了一个 UIView。但是在旋转设备时,添加在窗口上的视图不会旋转。视图始终显示默认值(纵向)。请帮我解决这个问题... 提前致谢

am creating a application which is support all type of orientation, i added one UIView on the UIWindow.but on rotating the device the view which is added on the Window is not rotating. the view always showing default (Portrait). please help me to fix this problem ...
Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梓梦 2025-01-14 20:49:39

您需要在 UIWindow 上添加 UIViewController。

You need to add a UIViewController on your UIWindow.

北方的巷 2025-01-14 20:49:39

UIView 不处理旋转,UIViewController 处理。
因此,您所需要做的就是创建一个 UIViewController,它实现 shouldAutorotateToInterfaceOrientation 并将此控制器设置为 UIWindow 的 rootViewController

类似的东西:


    - (void) makeWindow
    {
        UIViewController * vc = [[[MyViewController alloc] init] autorelease];

        UIWindow * window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        [window setRootViewController:vc];
        [window makeKeyAndVisible];
    }


    @interface MyViewController : UIViewController

    @end

    @implementation MyViewController

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        self.view.backgroundColor = [UIColor redColor];
        //your view initialization here
    }


    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
    {
        return YES;
    }
    @end

UIView doesn't handle rotations, UIViewController does.
So, all you need is to create a UIViewController, which implements shouldAutorotateToInterfaceOrientation and sets this controller as a rootViewController to your UIWindow

Something like that:


    - (void) makeWindow
    {
        UIViewController * vc = [[[MyViewController alloc] init] autorelease];

        UIWindow * window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        [window setRootViewController:vc];
        [window makeKeyAndVisible];
    }


    @interface MyViewController : UIViewController

    @end

    @implementation MyViewController

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        self.view.backgroundColor = [UIColor redColor];
        //your view initialization here
    }


    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
    {
        return YES;
    }
    @end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文