我想将我的应用程序更新到 ios 6。那么如何设置 iphone 4 和 iphone 5 的框架尺寸?
问问题
5686 次
5 回答
4
我可以使用计算屏幕大小,然后像使用以下方法一样调整视图的高度
+(CGFloat)heightOf:(CGFloat)heightValue{
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame];
//NSLog(@"applciation Frame height = %f",applicationFrame.size.height);
CGFloat heightRatio = (heightValue/480)*100;
CGFloat height = (applicationFrame.size.height * heightRatio)/100;
return height;
}
然后我使用 like as
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0,[Height heightOf:385], 320, 220)];
所以。感谢您的回复
于 2012-10-11T04:52:44.507 回答
3
处理这种情况的方法不止一种。
1> 其中之一是正确使用自动调整大小。
2>另一种方法是使用新的 Auto Layout 功能,但同样只有 iOS 6 支持。
3>您可以为 iphone 4 和 iphone 5 的每个视图创建单独的 nib,并且根据它运行的设备,您可以切换使用的 .xib 文件。
现在最好的方法是使用,自动调整大小。
更多你可以通过这些
于 2012-10-10T08:48:59.933 回答
1
以下代码检查 iPhone 5 和其他设备
#define IS_IPHONE ( [[[UIDevice currentDevice] model] isEqualToString:@"iPhone"] )
#define IS_IPOD ( [[[UIDevice currentDevice ] model] isEqualToString:@"iPod touch"] )
#define IS_HEIGHT_GTE_568 [[UIScreen mainScreen ] bounds].size.height >= 568.0f
#define IS_IPHONE_5 ( IS_IPHONE && IS_HEIGHT_GTE_568 )
于 2012-10-10T07:29:25.567 回答
0
您可以检查设备类型链接,或者您可以检查视图框架是否大于 iPhone 4/4s 中的正常视图,然后调整框架大小
注意:我使用第二种方式,它是工作
于 2012-10-10T07:25:12.490 回答
0
AutoLayout 对我来说效果不佳。我的应用程序有几个元素需要均匀分布。
快速修复解决方案(不是好的做法)是在检查屏幕高度时单独分配坐标。(顺便说一句,这是一个很好的教程。遗憾的是,Apple 仍然没有为 IOS 提供任何实质性的东西)。
如果您的屏幕上有多个元素,那么我相信您将不得不单独重新放置它们
CGFloat height = [UIscreen mainScreen].bounds.size.height;
if(height==568.00){
self.imageName.frame = CGRectMake(x,y,width,height);
...
}
对于出现在窗口中心的模态或浮动屏幕,您可以尝试以下操作:
self.imgBadgeArea.frame = CGRectMake(self.view.bounds.size.width/2- self.imgBadgeArea.bounds.size.width/2, self.view.bounds.size.height/2 - self.imgBadgeArea.bounds.size.height/2, self.imgBadgeArea.bounds.size.width, self.imgBadgeArea.bounds.size.height);
适用于 3.5 和 4 英寸。
于 2012-12-13T20:19:07.227 回答