0

我正在尝试以尽可能少的工作将 iPhone 应用程序移植到 iPad,但我被困在最后一点。

我有一个位于屏幕底部的自定义 UI 元素。UI 元素只是 UIView 的一个子类,具有一些委托方法和自定义绘图以满足我的客户需求。UIView 包含几个等间距的 UIButton 对象。

我的问题是如何让这些以编程方式创建的 UIButtons 保持居中?有一个包含子类 CustomNavBar 的 UIView 的中央 .xib 文件。在 CustomNavBar 类中,我尝试执行以下操作:

    self.frame.size...

或者

    self.bounds.size...

或者

    CGRect rect = [[UIScreen mainScreen]bounds];
    rect.origin.size...

但所有退货都是标准 iPhone 尺寸。我已经在 .XIB 文件中包含的其他对象上设置了所有自动调整大小,但我无法理解如何处理以编程方式创建 UI 方面的实例。

希望你能帮忙。

4

1 回答 1

1

您可以为 iPad 使用备用 xib,因此它具有默认的 iPad 大小。如果您的 xib 是为 iPhone 设备系列创建的,那么它不会很好地集成在 iPad 上。

NSString* xibName = @"myview.xib";
if ([[UIDevice currentDevice].model isEqualToString:@"iPad"])
{
    xibName = @"myview_iPad.xib";
}

例如,使用此代码获取 iPad 版本的 xib。您还可以创建一个宏(或函数),该宏(或函数)采用 xib 名称并返回 iPhone xib 名称或 iPad xib 名称(如果当前设备是 iPad,则附加 _iPad)。

于 2011-11-13T22:56:14.367 回答