【问题标题】:how to set orientation for a view which is subviewed to window如何为子视图窗口设置方向
【发布时间】:2012-09-13 06:12:19
【问题描述】:

我创建了一个 UIView。我想将视图子视图到 appdelegate 窗口

  UIView *newView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 1048, 748)];
  AppDelegate *appdelegate = [[UIApplication sharedApplication]delegate];
  [appdelegate.window addSubview:newView];

这有助于我查看窗口的视图。但是视图处于纵向模式。我需要视图处于横向模式。如何将视图设置为横向模式?我希望红色视图完全覆盖白色视图。我该怎么做?

RedColor 是新视图 白色存在viewController

【问题讨论】:

    标签: objective-c


    【解决方案1】:

    如果我们向窗口添加任何对象,然后我们想改变方向,那么我们必须使用变换方法。

    #define DegreesToRadians(degrees) (degrees *M_PI /180)
    

    在上面添加一行

    CGAffineTransform newTransform;
    UIDeviceOrientation orientation = [UIDevice currentDevice].orientation;
    switch (orientation)
    {
        case UIInterfaceOrientationPortraitUpsideDown:
            newTransform = CGAffineTransformMakeRotation(-DegreesToRadians(180));
            txt.transform = newTransform;
            txt.frame = CGRectMake(0, 0, 320, 480);
                    break;
        case UIInterfaceOrientationLandscapeLeft:
            newTransform = CGAffineTransformMakeRotation(DegreesToRadians(-90));
            txt.transform = newTransform;
            txt.frame = CGRectMake(0, 0, 320, 480);
    
            break;
        case UIInterfaceOrientationLandscapeRight:
            newTransform = CGAffineTransformMakeRotation(DegreesToRadians(90));
            txt.transform = newTransform;
            txt.frame = CGRectMake(0, 0, 320, 480);
    
    
            break;
        default: 
            newTransform = CGAffineTransformMakeRotation(-DegreesToRadians(0));
            txt.transform = newTransform;
            txt.frame = CGRectMake(0, 0, 320, 480);
    
            break;                             
    }    
    

    这里txt是对象名,这样试试。

    【讨论】:

    • 谢谢 它适用于方向,但我无法调整框架。
    • 这里我们要设置框架关于 x 和 y 的位置,这里发生了什么,只有窗口是变化的 x,y 轴保持不变。
    • 如果您要向整个窗口添加视图,则只需更改 x 和 y 值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    相关资源
    最近更新 更多