如何在不同的iPhone上设置不同的分辨率

时间:2015-02-17 06:34:38

标签: ios iphone

我正在使用集合视图开发应用程序。在这里,我发布了截图和我的代码。在我的应用程序中没有错误或警告,我正在使用Xcode 6.我将viewController的大小固定为iPhone 4英寸并在iPhone 5中运行应用程序。它在iPhone 5中显示我完美,但是当我选择模拟器时iPhone 6的布局看起来像橡木病房。我发布了两个屏幕截图。任何人都可以帮助我解决这个问题如果有人在iPhone 6上运行,那么我必须以完美的布局显示。

iPhone 5的屏幕截图

enter image description here

iPhone 6的屏幕截图

enter image description here

这是我的代码

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController{
    NSMutableArray *array;
}

- (void)viewDidLoad {
    [super viewDidLoad];

    array = [[NSMutableArray alloc]init];
    [array addObject:@"Apple"];
    [array addObject:@"Samsung"];
    [array addObject:@"Sony"];
    [array addObject:@"HTC"];
    [array addObject:@"Blackberry"];
    [array addObject:@"Oneplus"];


}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark collection view methods


-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
    return 1;
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
    return [array count];
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{

    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
    UILabel *label = (UILabel *)[cell viewWithTag:100];
    label.text = [array objectAtIndex:indexPath.row];
    [cell.layer setBorderWidth:2.0f];
    [cell.layer setBorderColor:[UIColor whiteColor].CGColor];
    //[cell.layer setCornerRadius:50.0f];

    return cell;

}
@end

4 个答案:

答案 0 :(得分:0)

请找到有用的screen shot

我根据您的constraint

添加了requirement

enter image description here

答案 1 :(得分:0)

使用自动布局或自动调整功能使每个设备兼容。 对于自动布局,请通过此链接。

http://captechconsulting.com/blog/jack-cox/ios-7-tutorial-series-auto-layout-xcode-5

用于自动调整

Autoresizing masks programmatically vs Interface Builder / xib / nib

如果您实际添加组件,请检查每个设备的屏幕宽度。

[ [ UIScreen mainScreen ] bounds ].size.width

答案 2 :(得分:0)

只需转到images.xcassets,右键单击导航区域,添加launchImage。然后选择您的项目(或目标),转到常规 - >应用程序图标和启动图像,并将启动图像源设置为启动图像,最重要的是,将启动屏幕文件设置为空白。

该应用程序现在也可以在iphone 6模拟器中正常运行。enter image description here

PS:我也有同样的问题。解决了我自己。看到 enter link description here

答案 3 :(得分:0)

只需转到images.xcassets,右键单击导航区域,选择Appicon。然后检查ios 7及更高版本的尺寸。如果选择了iOS 8及更高版本的尺寸,则删除该复选框。 通过这样做,您将能够在所有分辨率iphone 4s,5和6中运行您的应用程序。

参见截屏。

enter image description here