iOS -- 解决iOS11中navigationBar上使用initWithCustomView按钮图片错位 frame无效

Posted ⬆️小马哥⬆️

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS -- 解决iOS11中navigationBar上使用initWithCustomView按钮图片错位 frame无效相关的知识,希望对你有一定的参考价值。

ios11上当使用如下代码设置时

 

  1. UIButton *shareButton = [UIButton buttonWithType:(UIButtonTypeCustom)];  
  2.  shareButton.frame = CGRectMake(0, 0, 30, 30);  
  3.  shareButton.backgroundColor = [UIColor blueColor];  
  4.  [shareButton setImage:[UIImage imageNamed:@"mv_actionIconSaveToAlbum"]  forState:(UIControlStateNormal)];  
  5.  UIBarButtonItem *rightBtnItem = [[UIBarButtonItem alloc] initWithCustomView:shareButton];  
  6.  self.navigationItem.rightBarButtonItem = rightBtnItem;  


如果图片大小大于按钮设置的大小 ,设置的button的frame将不起作用。系统将采用最大区域展示。图片大小小于设置的button的frame时 不会出现这个问题。

以上是关于iOS -- 解决iOS11中navigationBar上使用initWithCustomView按钮图片错位 frame无效的主要内容,如果未能解决你的问题,请参考以下文章

为啥 iOS 11 中 Navigation backBarButtonItem 的位置出现了三个按钮?

如何处理 iOS 11 Navigation BarButtonItems 错误?

完美解决window.navigator.geolocation.getCurrentPosition,在IOS10系统中无法定位问题

IOS10 window.navigator.geolocation.getCurrentPosition 无法定位问题

navigator.geolocation 不返回 iOS 6 的有效时间戳

iOS 上的 navigator.permissions.query