objective-c – 在Interface Builder中为通用应用创建单个.xib?
发布时间:2020-12-14 19:55:27 所属栏目:百科 来源:网络整理
导读:抱歉,如果这是一个愚蠢的问题,但我已经做了一些谷歌搜索和搜索SO,并没有发现任何人问这个确切的问题. 我一直在做iOS开发已有一段时间了,但我对Interface Builder完全不熟悉.我想知道的是:有没有办法只创建一个.xib文件,然后在Universal应用程序中将它用于iP
抱歉,如果这是一个愚蠢的问题,但我已经做了一些谷歌搜索和搜索SO,并没有发现任何人问这个确切的问题.
我一直在做iOS开发已有一段时间了,但我对Interface Builder完全不熟悉.我想知道的是:有没有办法只创建一个.xib文件,然后在Universal应用程序中将它用于iPhone和iPad? 我必须单独创建它们似乎很愚蠢;为什么在代码中我可以做一次(对屏幕尺寸进行微调)时,在Interface Builder中多次放置一些东西? 如果我在这里遗漏/误解,请告诉我.就像我说的,我是一个完整的Interface Builder新手:) 编辑:我过去曾向App Store提交过非界面构建器游戏,其中iPhone和iPad版本相同,所以我并不担心每个设备上的游戏外观/感觉都不同.我希望它们看起来完全一样,除了由于纵横比的差异导致的一些轻微的定位变化. 解决方法
如果您知道结果视图的外观,基于自动调整,您实际上只能使用一个.xib.如果视图只是某种自动化的共享组件,可能会派上用场.但是,如果您需要iPad上的视图与iPhone上的视图不同,请使用两个.xib.然后可以根据需要加载适当的一个,例如在实例初始化器中,就像这个控制器的-init:
- (id)init { if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) { self = [super initWithNibName:@"YourNibForPad" bundle:nil]; } else { self = [super initWithNibName:@"YourNibForPhone" bundle:nil]; } if (self) { /* initialize other ivars */ } return self; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |