我的应用程序我将给出部署目标6.1所以在7.0显示和6.1显示屏幕不同,所以如何在6.1和7.0中调整大小
答案 0 :(得分:5)
iOS 6和iOS 7的主要UI差异在于iOS 7中的视图控制器中包含状态栏。这意味着您的视图控制器比iOS6大20 px。你必须调整你的项目。 首先根据iOS 6设计您的项目,这是更好的方法,您必须做很多练习,现在将每个项目的Δy设置为20。
或者根据iOS 7设计您的项目并将Δy设置为-20
答案 1 :(得分:1)
使用ios7.0及更高版本,然后使用autolayout处理secrren大小
答案 2 :(得分:0)
在AppDelegate.m中添加此代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Whatever your code goes here
if(kDeviceiPad){
//adding status bar for IOS7 ipad
if (IS_IOS7) {
UIView *addStatusBar = [[UIView alloc] init];
addStatusBar.frame = CGRectMake(0, 0, 1024, 20);
addStatusBar.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:1]; //change this to match your navigation bar
[self.window.rootViewController.view addSubview:addStatusBar];
}
}
else{
//adding status bar for IOS7 iphone
if (IS_IOS7) {
UIView *addStatusBar = [[UIView alloc] init];
addStatusBar.frame = CGRectMake(0, 0, 320, 20);
addStatusBar.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:1]; //You can give your own color pattern
[self.window.rootViewController.view addSubview:addStatusBar];
}
return YES;
}
答案 3 :(得分:0)
可能会有所帮助
-(void)adjustFrameForiOS7:(UIView*)v
{
if([UIDevice currentDevice].systemVersion.floatValue >=7.0)
{
[v setFrame:CGRectMake(v.frame.origin.x, v.frame.origin.y+20, v.frame.size.width, v.frame.size.height)];
}
else
{
[v setFrame:CGRectMake(v.frame.origin.x, v.frame.origin.y, v.frame.size.width, v.frame.size.height)];
}
}