我正在开发一个应用程序来编辑图像."编辑器"有一个平方UIView,这个视图有一些子视图:
UIImageView;UITextView或UIImageView.因此,当用户准备好保存图像时,我计算UIView图像应该比原始背景图像具有相同大小的原始大小.
例如:如果背景图像是3750x3750并且用户正在使用iPhone X(因此包装器UIView为375x375),我的最终比例将为10.
所以,我需要从中获得一个缩放图像UIView.到目前为止我尝试了什么:
1 - 使用view.drawHierarchy(in: context):
如果我使用具有相同大小UIView(在我的示例中为375x375)且比例为10 的上下文,则最终图像将被像素化.实际上无论我使用哪种规模,结果都是一样的.
在尝试使用比例1 UIView调用drawHierarchy(in:)方法之前,我尝试将我扩展到最终大小,但这不安全:适用于小图像,但更大的图像会使应用程序崩溃并显示内存警告.
2 - 使用view.layer.render(in: context):
使用具有所需UIView大小和计算尺度的上下文,这将呈现具有正确分辨率的图像,没有像素化,但是我的所有3D变换都将被丢弃.
在所有情况下,我都会相应地更新layer.contentScale所有子视图(及其子视图和子图层).
因此,我需要使用关于drawHierarchy(in:)计算尺度的view.layer.render(in:)方法或使用关于子视图的3D变换的方法.
我怎样才能做到这一点?
谢谢!!
我正在尝试使我的localizable.strings正常工作,但我无法弄清楚如何.我的故事板也是可本地化的,并且可以工作:所有按钮和视图控制器都以两种语言正确显示.
但是以编程方式加载的NSLocalizedStrings只是以英文显示.我检查了我的Localizable.strings,它有两种语言:英语和巴西葡萄牙语(pt-BR),我没有发现任何问题.
我该如何解决?
提前致谢!
xcode localization localizable.strings nslocalizedstring ios