2011-11-13 14 views
0

我试图将尽可能少的工作移植到iPad的iPhone应用程序,并且我卡在最后一点。通用应用程序中的.XIB中的UIView始终报告iPhone UI大小

我有一个自定义UI元素,坐在屏幕的底部。 UI元素只是UIView的一个子类,带有一些委托方法和客户需要的自定义绘图。 UIView包含几个UIButton对象。

我的问题是如何让这些以编程方式创建的UIButton保持居中?有一个中央的.xib文件,其中包含子类CustomNavBar的UIView。内CustomNavBar类我试图做到以下几点:

self.frame.size... 

self.bounds.size... 

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

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

希望你能帮上忙。

回答

1

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

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

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

+0

感谢您的回复。我担心这将是解决方案 - 我希望有一个懒惰的解决方案!再一次,谢谢。 – JordanMazurke