В учебном пособии «Начало разработки приложений для iOS (Swift)», начиная с Xcode 11.0, экран Hello World появляется поверх холста, скрывая его - PullRequest
1 голос
/ 30 сентября 2019

В апреле 2019 года я прошел треть пути через «Начните разработку приложений для iOS (Swift)», и он работал нормально. Я недавно обновился до Xcode 11.0 и начал с самого начала снова. В разделе «Создание базового интерфейса» показано, как нарисовать текстовое поле, кнопку и метку на холсте. Но когда я запускаю его в симуляторе, он показывает 3 элемента за секунду, но затем поверх экрана появляется белый экран Hello World, и их не видно. Как остановить отображение экрана Hello World.

Учебник, на который я ссылаюсь, находится здесь: https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/BuildABasicUI.html#//apple_ref/doc/uid/TP40015214-CH5-SW1

Чтобы добраться до этой точки, я запустил новое приложение Single View и нарисовал3 элемента на холсте в файле "LaunchScreen.storyboard", затем скомпилированные.

Экран Hello World находится в новом файле в шаблоне с именем ContentView.swift, который содержит нижеприведенное. Последнее учебное пособие было обновлено в декабре 2016 года, и с тех пор Xcode неоднократно обновлялся, и кнопки не соответствуют описанию, но я смог найти функции с помощью Google. Если кто-нибудь знает, как удалить экран Hello World, это будет оценено. Я новичок в разработке для iOS.

//
//  ContentView.swift
//  FoodTracker2
//
//  Created by Steve on 25/9/19.
//  Copyright © 2019 FinestSites.net. All rights reserved.
//

import SwiftUI


struct ContentView: View {
    var body: some View {
        Text("Hello World")
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

1 Ответ

1 голос
/ 30 сентября 2019

@ Отлично, вы создали SwiftUI проект, отличный от interface builder. Оба использовали для разработки пользовательского интерфейса приложения.

Как вы упомянули, вы добавили элементы в LaunchScreen.storyboard, что не правильно.

LaunchScreen.storyboard представлен только при запуске приложения. Как только приложение будет запущено и запущено, оно будет заменено вашим основным контроллером, который в вашем случае будет ContentView. Таким образом, он выполняет правильный поток.

В руководстве используется interface builder. Итак, создайте new single view app и снимите флажок Use SwiftUI, как показано ниже.

enter image description here

После этого найдите Main.storyboard и добавьте элемент в этот viewController.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...