iOS 11大标题右侧放头像

iOS11加入了大标题,很多产品开始跟进,我们产品就根据iOS 11高了一套专属UI,里面有用到大标题右侧放头像!就像App Store 游戏界面那样,大标题状态下,左侧是标题,右侧是头像!上滑后头像消失!

IMG_0006.png

看了官方说明,导航栏视图布局有变化,但是大标题这个视图始终打不出来!搜索了半天!貌似苹果没有把放大标题的视图开放出来!


WX20180319-172638.png

就是蓝色这个视图!它是在NavigationBar上!那么就可以通过筛选NavigationBar的子视图找出它来
图上看到这个视图是_UINavigationBarLargeTitleView
那么:

 
    UIView * bigTitleView ;
    for (UIView * view in self.navigationController.navigationBar.subviews ) {
        NSString * className = NSStringFromClass([view class]);
        if([className isEqualToString:@"_UINavigationBarLargeTitleView" ]){
            bigTitleView = view;
        }
      
    }

这样就找到了大标题的容器视图
接下来就是放上头像视图了 ,并设置约束了

    self.view.backgroundColor = [UIColor blueColor];
    UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(0, 0, 44, 44);
    btn.layer.cornerRadius = 22;
    btn.clipsToBounds = YES;
    btn.backgroundColor = [UIColor redColor];
    if (bigTitleView) {
        [bigTitleView addSubview:btn];
        btn.sd_layout
        .rightSpaceToView(bigTitleView, 10)
        .bottomSpaceToView(bigTitleView, 5)
        .widthIs(44)
        .heightIs(44);
    }

注意这里要用到autolayout布局,这里我用的是SDAutoLayout !用frame的话 头像会固定在右上角!不会随着用户滚动下滑或消失!

最后 其实上滑时候大标题视图并没有消失 !只是滑到了顶部小标题导航栏的下面被遮住了,苹果的UI动画给人的感觉是消失掉了!

你可能感兴趣的:(iOS 11大标题右侧放头像)