iOS6 20px空白问题

mia0x75 发布于 2014/04/29 15:59
阅读 528
收藏 0

云原生2.0展望丨从“小众”到“首选”,推动云原生产业落地华为云作用几何?>>>

在UIViewController上放一个headerView,headerView上放两个图片,IOS7正常,6的设备在headerView上面有20px的空白。

xcode 5 + IOS SDK7

-(void)viewDidLoad
{
    [super viewDidLoad];
    
    CGRect frame = [[UIScreen mainScreen] applicationFrame];
    [self.view setBackgroundColor:[UIColor whiteColor]];
    [self setupLeftMenuButton];
    [self setupRightMenuButton];
    
    UILabel *titleView = (UILabel *)self.navigationItem.titleView;
    if (!titleView) {
        titleView = [[UILabel alloc] initWithFrame:CGRectZero];
        titleView.backgroundColor = [UIColor clearColor];
        titleView.font = [UIFont boldSystemFontOfSize:20.0];
        titleView.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
        titleView.shadowOffset = CGSizeMake(0.75f,0.75f);
        titleView.textColor = [UIColor whiteColor]; // Change to desired color
        
        self.navigationItem.titleView = titleView;
    }
    titleView.text = @"关于我们";
    [titleView sizeToFit];
    
    if(OSVersionIsAtLeastiOS7()) {
        UIColor *barColor = [UIColor colorWithRed:255.0/255.0
                                            green:106.0/255.0
                                             blue:0.0/255.0
                                            alpha:1.0];
        [self.navigationController.navigationBar setBarTintColor:barColor];
    }
    else {
        UIColor *barColor = [UIColor colorWithRed:255.0/255.0
                                            green:106.0/255.0
                                             blue:0.0/255.0
                                            alpha:1.0];
        [self.navigationController.navigationBar setTintColor:barColor];
    }
    
    //TODO:
    if (!_headerView) {
        _headerView = [[UIView alloc] initWithFrame:frame];
        [_headerView setBackgroundColor:[UIColor clearColor]];
        
        UIImageView *bgImageView = nil;
        if (kIS_IPHONE5) {
            bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"AboutBg-568h.png"]];;
        }
        else {
            bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"AboutBg.png"]];
        }
        
        UIImageView *iconImageView = [[UIImageView alloc] initWithFrame:CGRectMake ((bgImageView.frame.size.width - 124) / 2,
                                                                                    (bgImageView.frame.size.height - 124) / 2,
                                                                                    124,
                                                                                    124)];
        iconImageView.image = [UIImage imageNamed:@"AboutIcon.png"];
        
        [_headerView addSubview:bgImageView];
        [_headerView addSubview:iconImageView];
    }
    
    [self.view addSubview:_headerView];
}

加载中
0
mia0x75
mia0x75

搞定。

0
撸红薯
撸红薯
我也遇到了  你是如何解决的哇???
0
lavzchen
lavzchen
ios6 的坐标系是从状态栏下开始(0,0)ios7是状态栏下(0,20),ios8手机 竖屏状态栏下(0,20),竖屏无状态栏(0,0)
返回顶部
顶部