iOS rightBarButtonItem 设置网络图片,多系统版本兼容

iOS 11 以下的系统只需要设置frame即可,
iOS 11 以上需设置布局约束。

        _profileBtn = [UIButton buttonWithType:UIButtonTypeCustom];
        _profileBtn.frame = CGRectMake(0, 0, 27, 27);
        _profileBtn.layer.cornerRadius = 13.5;
        _profileBtn.layer.masksToBounds = YES;
        [_profileBtn addTarget:self action:@selector(handleProfileClicked:) forControlEvents:UIControlEventTouchUpInside];

// ------- iOS >= 11需设置约束,iOS11以下只需要设置frame即可
        if (@available(iOS 11, *)) {
            [_profileBtn mas_makeConstraints:^(MASConstraintMaker *make) {
                make.width.height.equalTo(@27);
            }];
        }
// ------ 

    UIBarButtonItem *profileItem = [[UIBarButtonItem alloc] initWithCustomView:self.profileBtn];
    self.navigationItem.rightBarButtonItem = profileItem;

    [self.profileBtn sd_setImageWithURL:[NSURL URLWithString:[user getLogoImg]]
                               forState:UIControlStateNormal
                       placeholderImage:[UIImage imageNamed:@"default_avatar"]];

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,805评论 1 32
  • 清晨,宁静的小院里,桃花、樱花、核桃树,还有春韭,都清新无比,一切都是刚睡醒的样子。煦暖的朝阳把万道金光洒向大地,...
    巴山夜雨i阅读 3,746评论 8 25
  • 人的一生太长,长的就连爱情也要经历几次才能和另一个人互换戒指,敲定终身。我们都爱过,也都失去过,在一次次感情的洗涤...
    flying皮卡丘阅读 669评论 0 1
  • word connter允许你监控文件。这意味着您可以创建一个记录项目进展。将文件add进去,可以直观的看到这个文...
    coderpaul阅读 3,911评论 0 0
  • 我是萍,这是我被关在这间屋子的第六十五天。 这是我从小长大的地方。厚厚的黄泥堆砌的外墙里边,所有的一切都是木板搭建...
    悄咪不二阅读 1,430评论 0 0