加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读