我在 Xcode 控制台中看到一条消息,它是Received memory pressure event 1 vm pressure 0. 我不确定是什么原因造成的,为什么但我知道当我在相机视图控制器中时会打印。我猜这没什么可担心的(还),但它是否指向我应该尽快修复的问题?
FirstViewController: UIViewController {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let image = info[UIImagePickerController.InfoKey.editedImage] as! UIImage
let croppedImage = cropToBounds(image: image, width: 10, height: 10)
self.productImage.image = croppedImage
print("size: \(croppedImage.size)")
print("original size: \(image.size)")
self.dismiss(animated: true, completion: nil)
}
func setupCameraPicker() {
if UIImagePickerController.isSourceTypeAvailable(.camera) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .camera;
imagePicker.allowsEditing = true
self.present(imagePicker, animated: true, completion: nil)
}
} …Run Code Online (Sandbox Code Playgroud) 我正在通过构建一个具有“设置视图”的应用程序来测试 SwiftUI,我们将其称为 ViewB。该视图有一个列表,您可以在其中选择语言。第一个视图 ViewA 有 2 个按钮“打开”或“选择语言”。
我想做的是,从ViewA开始,打开ViewB,选择一种语言,然后自动回到ViewA。这就是我所做的:
视图A
var body: some View {
NavigationView {
VStack(alignment: .center) {
Button(action: start) {
Text("Open")
}
NavigationLink(destination: ViewB()) {
Text("Change language")
}
}
.sheet(isPresented: $presenting) {
DemoView(code: self.langugage ?? "SE") { result in }
}
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我在 ViewB 上取得的进展:
var body: some View {
List(langs) { item in
HStack {
NavigationLink(destination: ViewA(presentingSuccessScreen: self.$isPresentingSuccessScreen, language: item.code)) {
Image(item.icon).resizable().frame(width: 40, height: 40)
Text(item.market)
}.frame(height: 64)
}
.navigationBarTitle(Text("Select Language"), displayMode: .inline)
.navigationBarBackButtonHidden(true)
.navigationBarItems(trailing:
Button("Cancel") …Run Code Online (Sandbox Code Playgroud)