Как я могу использовать InAppSettingsKit со SwiftUI?

Я создал оболочку UIViewControllerRepresentable для IASKAppSettingsViewController, чтобы использовать ее в своем проекте SwiftUI.

Он отлично работал для тумблера, но когда я попытался PSMultiValueSpecifier, мой вид не перешел на экран с несколькими значениями.

Ниже моя обертка:

import SwiftUI
import UIKit
import InAppSettingsKit

struct SettingsView: UIViewControllerRepresentable {
    typealias UIViewControllerType = IASKAppSettingsViewController
    
    func makeUIViewController(context: UIViewControllerRepresentableContext<SettingsView>) -> IASKAppSettingsViewController {
        return IASKAppSettingsViewController()
    }

    func updateUIViewController(_ uiViewController: IASKAppSettingsViewController, context: UIViewControllerRepresentableContext<SettingsView>) {
        
    }
}

Это конфигурация (из примера приложения), которая не работает:

        <dict>
            <key>Type</key>
            <string>PSMultiValueSpecifier</string>
            <key>Title</key>
            <string>Multi Value with a long title</string>
            <key>Key</key>
            <string>multivalue_long</string>
            <key>DefaultValue</key>
            <integer>2</integer>
            <key>Values</key>
            <array>
                <integer>1</integer>
                <integer>2</integer>
                <integer>3</integer>
            </array>
            <key>Titles</key>
            <array>
                <string>One</string>
                <string>Two</string>
                <string>Three</string>
            </array>
        </dict>

Примечание. Я не видел никаких ошибок, простое нажатие на экран не позволяло мне выбирать значения.


person app_dev55    schedule 30.10.2020    source источник


Ответы (1)


Я нашел проблему:

SettingsView нужно было обернуть в NavigationView, как показано ниже:

NavigationView { SettingsView() }

Это устранило проблему, из-за которой не отображался экран с несколькими значениями.

person app_dev55    schedule 01.11.2020
comment
Если бы вы хотели открыть исходный код примера проекта пользовательского интерфейса Swift для IASK, это было бы здорово, я ведущий разработчик IASK и был бы рад принять запрос на включение или ссылку на ваш пример проекта IASK из Прочти меня. - person Ortwin Gentz; 02.11.2020