[英]How to set the frame for iphone 4 and iphone 5 in ios6
我想將我的應用程序更新到ios 6.那么如何設置iphone 4和iphone 5的框架尺寸?
我可以使用“計算屏幕大小”來調整視圖的高度,就像使用以下方法一樣
+(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;
}
然后我就像使用一樣
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0,[Height heightOf:385], 320, 220)];
所以。 謝謝你的回復
處理這種情況的方法不止一種。
1>其中一個是正確使用自動調整大小。
2>另一種方法是使用新的自動布局功能,但是再次只支持iOS 6。
3>您可以為iphone 4和iphone 5的每個視圖創建單獨的筆尖,並根據它運行的設備,您可以切換使用過的.xib文件。
現在最好的方法是使用,正確自動調整大小。
更多信息,您可以瀏覽這些內容
以下代碼檢查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 )
您可以檢查設備類型鏈接,或者您可以檢查iPhone 4 / 4s中的視圖框架是否大於正常視圖框架然后調整框架大小
注意:我使用第二種方式,這是工作
AutoLayout對我來說效果不佳。 我的應用程序有幾個元素需要均勻分布。
快速修復解決方案(不是很好的做法)是在屏幕高度檢查時單獨分配坐標。 (順便說一句,這是一個很好的教程。羞恥蘋果仍然沒有為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英寸。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.