0

UIView在 XIB 中添加了 iPhone 布局,现在我也在为 iPad 转换整个应用程序。将那些添加UIView的 s 重新构建(调整大小)到 XIB 的最佳方法是什么。我已经为每个视图自动调整大小,

这就是我正在做的,

- (Void) addTempView {
    [scrollViewMain addSubview:viewTemp];
    viewTemp.frame = CGRectMake(0, 0, viewTemp.frame.size.width, viewTemp.frame.size.height);
}

我将其称为viewDidLoad,它在 iPhone 上运行良好,但在 iPad 上运行良好,就像viewTempiPhone 布局一样,即(宽度 320,高度 200)。它不会自动调整大小。

我知道,我可以做到这一点[UIScreen mainScreen].bounds.frame,还有其他方法吗?因为我必须在很多地方改变。

4

1 回答 1

0

如果您想以编程方式调整视图大小,可以使用以下代码:

#define IS_IPAD()       (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE5()    ((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) && [UIScreen mainScreen].bounds.size.height == 568)

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Size of the view
    if (IS_IPAD())
    {
        self.view.frame = CGRectMake(0, 0, 768, 1024);
    }
    else
    {
        self.view.frame = (IS_IPHONE5() ? CGRectMake(0, 0, 320, 568) : CGRectMake(0, 0, 320, 480));
    }
}

或在唯一的代码行中:

self.view.frame = (IS_IPAD() ? CGRectMake(0, 0, 768, 1024) : (IS_IPHONE5() ? CGRectMake(0, 0, 320, 568) : CGRectMake(0, 0, 320, 480)));

在这里,您可以调整 iPad 屏幕或 iPhone 5 屏幕或 iPhone 4 屏幕的视图大小。

于 2013-11-11T13:11:33.563 回答