美文网首页
iOS11 ButtonItem frame 失效

iOS11 ButtonItem frame 失效

作者: cocoaroger | 来源:发表于2017-11-27 11:27 被阅读17次

搜索到一些解决方法,基本都是说 button 在设置图片时,图片原尺寸大于设置的frame时会失效,有的会添加一个 containerView 来解决。

经过测试,下面的方法可用,个人觉得应该是 iOS11 更加强调 AutoLayout 。

if(@available(iOS 11, *)) {
        UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:button];
        [button mas_makeConstraints:^(MASConstraintMaker *make) {
            make.width.mas_equalTo(60);
            make.height.mas_equalTo(40);
        }];
        self.navigationItem.rightBarButtonItem = item;
    } else {
        button.frame = CGRectMake(0, 0, 60, 40);
        self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
    }

相关文章

网友评论

      本文标题:iOS11 ButtonItem frame 失效

      本文链接:https://www.haomeiwen.com/subject/hsbrbxtx.html