使屏幕适应人像虫目标-c

时间:2013-05-19 21:26:38

标签: objective-c uiview autorotate

好吧所以当设备进入横向时我的视图有点问题所以我决定用代码改变我的文本字段的位置:

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
UIInterfaceOrientation orientation = [[UIApplication sharedApplication]statusBarOrientation];

NSLog(@"SPIN");


if (orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown) {

    CGRect frame = [self.a frame];
    frame.origin.x = 20;
    frame.origin.y = 57;
    [self.a setFrame:frame];

    CGRect frame2 = [self.b frame];
    frame2.origin.x = 20;
    frame2.origin.y = 132;
    [self.b setFrame:frame2];

    CGRect frame3 = [self.c frame];
    frame3.origin.x = 20;
    frame3.origin.y = 207;
    [self.c setFrame:frame3];


} else {

    CGRect frame = [self.a frame];
    frame.origin.x = 83;
    frame.origin.y = 21;
    [self.a setFrame:frame];

    CGRect frame2 = [self.b frame];
    frame2.origin.x = 204;
    frame2.origin.y = 21;
    [self.b setFrame:frame2];

    CGRect frame3 = [self.c frame];
    frame3.origin.x = 330;
    frame3.origin.y = 21;
    [self.c setFrame:frame3];



}

}

它工作得很好,一切都在它所支持的地方,问题是当点击任何一个文本字段来写出所有这些错误的东西并最终看起来像这样:

嗯..没关系,显然我需要至少10个声誉才能发布图像,所以这里是对图像显示的描述:

图像显示3个uisegmented控件和3个填充在屏幕顶部的文本域叠加在一起

所以我在这方面比业余爱好者更多,所以如果这是一个愚蠢的问题,我道歉,但我在这里做错了什么?另外还有更好的方法来适应你的观点吗?

1 个答案:

答案 0 :(得分:0)

尝试使用自动布局,或者可能会在您正在使用的不同视图上自动调整遮罩大小。在uiview中有一个名为autoresizingmask的属性。

您可以查看此内容以供参考: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIView_Class/UIView/UIView.html