【问题标题】:iOS UINavigationBar button image is too small for pdf vector iconiOS UINavigationBar 按钮图像对于 pdf 矢量图标来说太小了
【发布时间】:2019-04-03 11:44:52
【问题描述】:

我在 UINavigationBar rightBarButtonItem 中设置了 pdf 矢量图像,但它仍然显示太小。

如何在 UINavigationBar 中显示全尺寸矢量图像?

我正在尝试以下代码:-
第一种方式:-

UIBarButtonItem *barbutton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@“imgRightArrow”] style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.rightBarButtonItem = barbutton;

第二种方式:-

UIImage *image = [UIImage imageNamed:@“imgRightArrow”]
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:image forState:UIControlStateNormal];
[button.imageView setContentMode:UIViewContentModeScaleToFill];
button.frame = CGRectMake(0, 0, 35, 35);
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];

【问题讨论】:

    标签: ios objective-c pdf uinavigationbar uinavigationitem


    【解决方案1】:

    问题是矢量图像的大小以像素为单位。出于某种原因,这对于 tabBarItems 和 UIBarButtonItem 确实很重要。我用这个 UIImage 扩展解决了这个问题。

    func resize(to size: CGFloat) -> UIImage {
        let newSize = CGSize(width: size, height: size)
        return resize(newSize: newSize)
    }
    
    
    private func resize(newSize: CGSize) -> UIImage {
        UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
        self.draw(in: CGRect(origin: CGPoint.zero, size: newSize))
        let newImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return newImage ?? UIImage()
    }
    
     private lazy var sendAction = UIBarButtonItem(image: yourImage.resize(to: 32),
                                                  style: .done,
                                                  target: self,
                                                  action: #selector(someAction))
    

    【讨论】:

      【解决方案2】:

      我所做的是将图标保存三次,25px、50px、75px,并将这三个一起添加到资产中(x1、x2、x3),这样您就不必在代码中设置图标的大小.

      【讨论】:

      • 你的答案是正确的图像,但我想使用 pdf 矢量图标。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 2012-08-05
      • 2014-02-14
      • 2020-02-26
      • 2011-07-09
      相关资源
      最近更新 更多