首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使xib与iphone 5和iphone 4设备兼容

如何使xib与iphone 5和iphone 4设备兼容
EN

Stack Overflow用户
提问于 2012-11-08 01:39:40
回答 13查看 51.6K关注 0票数 45

我正在尝试对我的xib进行布局,这样布局可以同时适用于iPhone5 (4英寸视网膜)和3.5设备。

因为我必须支持IOS-5,所以我不能使用自动布局。我必须使用springs和Struts。

我在interface-builder中尝试了所有的方法。但我的观点要么超出了iphone-3.5英寸的底部,要么没有完全填满iphone-4英寸的视网膜。

有人能给出一个提示吗?如何使xib与这两个设备兼容?

为了更清晰,我添加了屏幕截图:

当我在属性检查器中设置大小3.5时:

在iphone-5中看起来是这样的。按钮下面有一个空格:

如果我在界面生成器中设置大小为4英寸。您可以看到,底部按钮在iphone-4中不可见。

所以你会问我使用的是什么设置。以下是它们:

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2012-11-08 14:43:05

  • (id)initWithNibNameforIphone4:(NSString *)
    1. :(NSString*) .h nibNameOrNil4 NibNameforIphone5:(NSString *)nibNameOrNil5 NibNameforIpad:(NSString *)nibNameOrNilpad NibNameforIpad:(NSBundle *)nibBundleOrNil;在.m文件中返回以下代码
    • (id)initWithNibNameforIphone4:(NSString *)nibNameOrNil4 NibNameforIphone5:(NSString *)nibNameOrNil5 NibNameforIpad:(NSString *)nibNameOrNilpad包:(NSBundle *)nibBundleOrNil { if (self =超级初始化){ self = [self initWithNibName:self CheckDeviceIphone4:nibNameOrNil4iPhone5:nibNameOrNil5ipad:nibNameOrNilpad bundle:nibBundleOrNil];} return self;} -(NSString *)CheckDeviceIphone4:(NSString *)iphone4 Iphone5:(NSString *)iphone5 Ipad:(NSString *)ipad { return (UIDevice currentDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad)?([UIScreen mainScreen bounds].size.height == 568)?iphone5 :iphone4;}
    1. Open YouProject-Prefix.pch文件,然后在这里导入你的类别
    2. 现在你只需要像这样在整个项目中使用它

self.firstView=[firstView allocinitWithNibNameforIphone4:@"firstView4“NibNameforIphone5:@"firstView”NibNameforIpad:@"firstViewIpad“包:NSBundle mainBundle];

谢谢和任何问题,然后评论,别忘了给我投票:-)

\

票数 38
EN

Stack Overflow用户

发布于 2012-12-21 15:58:32

尝试将此代码添加到需要支持iPhone 5的所有控制器中:

代码语言:javascript
复制
- (void) loadView
{
    [super loadView];
    self.view.frame = [UIScreen mainScreen].bounds;
}
票数 20
EN

Stack Overflow用户

发布于 2013-04-17 18:47:33

只需使用Interface-builder将视图大小设置为None

它将在运行时获取视图大小,只是您需要注意每个元素(UILabel、UIImage等)的原点和自动调整大小。在视图中。

  • Interface-builder(XIB) ->属性检查器->模拟指标-大小: None

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13275144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档