leftBarButtonItem加载网络图片时必须要设置自定控件的大小,如果图片太大,会导致设置为UIButton的背景图片变大,拉宽leftBarButtonItem的大小 。
iOS11之前的写法如下:
UIButton *customButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 32, 32];
[customButton setBackgroundImage:[UIImage imageNamed:@"xxxx"] forState:UIControlStateNormal];
UIBarButtonItem * leftButtonItem =[[UIBarButtonItem alloc] initWithCustomView:customButton];
self.navigationItem.leftBarButtonItems = @[self.headerIconItem];
iOS11之后的写是需要把上的button放在一个View上,然后把这个view加到 UIBarButtonItem上就可以了。