iOS11 ButtonItem frame 失效

2017-11-27  本文已影响17人  cocoaroger

搜索到一些解决方法,基本都是说 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];
    }
上一篇 下一篇

猜你喜欢

热点阅读