如何创建水平视图

时间:2011-01-26 02:41:27

标签: iphone objective-c uiview rotation

我不希望在用户旋转设备时更改我的视图,并且在初始化时我需要视图为水平。

   - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
        return NO;
    }
- (void)viewDidLoad {
        [super viewDidLoad];
        [self.view setTransform:CGAffineTransformMakeRotation(M_PI / 2)];
        UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 150, 768, 500)];
        myView.backgroundColor = [UIColor blueColor];
        [self.view addSubview:myView];
    }

问题是应用程序启动时视图不靠近左侧。它还有一个空白区域。 我设置的帧是CGRectMake(0,150,768,500),我不知道原因。 谢谢!

2 个答案:

答案 0 :(得分:1)

我无法确定您的问题,但是:如果您希望视图处于横向模式,则需要尝试以下代码:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
   return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}

答案 1 :(得分:0)

UIView * myView = [[UIView alloc] initWithFrame:CGRectMake(0,150,768,500)]; 如果您没有旋​​转视图,则坐标系与纵向模式类似。  尝试 UIView * myView = [[UIView alloc] initWithFrame:CGRectMake(150,0,768,500)];