iOS 13 UISearchController书签

iOS 13 UISearchController书签,ios,swift,uikit,Ios,Swift,Uikit,在iOS 13中,我的自定义UISearchController书签图像会拉伸,大小不合适 在iOS 12.x中,图像非常适合搜索栏: 但在iOS 13中,我看到了以下画面: 图像在两个版本中的设置方式相同(两台设备上运行的应用程序版本相同) 我尝试将搜索栏和所有子视图的内容模式设置为.scaleAspectFit,但没有成功。我还尝试在所有子视图中循环查找UIButton,但没有找到它 这原来是由于图像的大小 在iOS 12中,图像被调整大小以适应需要,但在iOS 13中,情况并非如此。添

在iOS 13中,我的自定义UISearchController书签图像会拉伸,大小不合适

在iOS 12.x中,图像非常适合搜索栏:

但在iOS 13中,我看到了以下画面:

图像在两个版本中的设置方式相同(两台设备上运行的应用程序版本相同)


我尝试将搜索栏和所有子视图的内容模式设置为.scaleAspectFit,但没有成功。我还尝试在所有子视图中循环查找UIButton,但没有找到它

这原来是由于图像的大小


在iOS 12中,图像被调整大小以适应需要,但在iOS 13中,情况并非如此。添加适当的1x、2x和3x大小解决了这个问题。

与相同,苹果在一次迭代的发行说明(不再提供?)中实际提到了这一点:“从iOS 13开始,实现
leftViewRect(forBounds:)
rightViewRect(forBounds:)
现在要求视图进行
systemLayoutSizeFitting(:)
。要在iOS 13上链接并运行时实现以前的行为,请在视图上添加显式大小限制,将其包装在普通UIView中,或对视图进行子类化,并实现
系统布局大小设置(:)
DispatchQueue.main.async {[weak self] in
    self?.txtSearchBar.setImage(UIImage(named: "barcode_image"), for: .bookmark, state: .normal)
}