我的
Xcode项目中的图像资源文件中有一个PDF文件.我正在尝试创建一个使用该PDF图像的条形按钮项.但每当我在Interface Builder中将图像属性设置为图像时,它都会占用我的大部分标签栏并删除标题.
解决方法
使用Code我在图像大小太大时所做的事情,我在UIControl上渲染/设置之前调整UIImage的大小.我在UIImage上有这个扩展,有助于重新缩放图像.
// MARK: - Used to scale UIImages extension UIImage { func scaleto(_ newSize: CGSize) -> UIImage { UIGraphicsBeginImageContextWithOptions(newSize,false,0.0) self.draw(in: CGRect(x: 0,y: 0,width: newSize.width,height: newSize.height)) let newImage: UIImage = UIGraphicsGetimageFromCurrentimageContext()! UIGraphicsEndImageContext() return newImage } }
使用它看起来像这样
let defaultimage = UIImage(named: "someimagenamehere")? .scaleto(CGSize(width: 40,height: 40)) self.navigationItem.leftBarButtonItem = UIBarButtonItem( image: defaultimage,style: .plain,target: self,action: #selector(self.someselectorhere(_:)))
更新:这就是使用@IBDesignable和@IBInspectable的样子
@IBDesignable class CustomBarButtonItem: UIBarButtonItem { @IBInspectable var scaledHeight: CGFloat = 0 { didSet { self.image = self.image?.scaleto(CGSize(width: self.scaledHeight,height: self.scaledWidth)) } } @IBInspectable var scaledWidth: CGFloat = 0 { didSet { self.image = self.image?.scaleto(CGSize(width: self.scaledHeight,height: self.scaledWidth)) } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。