Программируем под IOS
Anonymous
Составьте мультиплатформу с сценами iOS - как иметь правильную верхнюю прокладку? [закрыто]
Сообщение
Anonymous » 11 фев 2025, 19:41
Я пытаюсь направить одно более крупное нативное приложение для iOS и Android в мультиплатформенность, и снова оно дает мне проблемы. Сцены не имеют правильных системных падков.
Когда сцены вводя /p>
Код: Выделить всё
import Foundation
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
}
< /code>
scenedelegate.swift:
import Foundation
import UIKit
import ComposeApp
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else {
return
}
window = UIWindow(frame: windowScene.screen.bounds)
window?.windowScene = windowScene
window?.rootViewController = UINavigationController(rootViewController: MainViewControllerKt.MainViewController())
window?.makeKeyAndVisible()
}
}
< /code>
mainviewcontroller.kt (в Multiplin Multiplyform модуль Kotlin): < /p>
import androidx.compose.ui.window.ComposeUIViewController
fun MainViewController() = ComposeUIViewController { App() }
< /code>
app.kt (в модуле мультиплатформы Kotlin): < /p>
@Composable
@Preview
fun App() {
Box(modifier = Modifier
.fillMaxSize()
.systemBarsPadding()
.background(Color.Yellow)
)
}
Пример кода проекта доступен в выпуске Yourack, сообщаемое мной.>
Подробнее здесь:
https://stackoverflow.com/questions/794 ... op-padding
1739292113
Anonymous
Я пытаюсь направить одно более крупное нативное приложение для iOS и Android в мультиплатформенность, и снова оно дает мне проблемы. Сцены не имеют правильных системных падков. Когда сцены вводя /p> [code]import Foundation import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate { } < /code> scenedelegate.swift: import Foundation import UIKit import ComposeApp class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene as? UIWindowScene) else { return } window = UIWindow(frame: windowScene.screen.bounds) window?.windowScene = windowScene window?.rootViewController = UINavigationController(rootViewController: MainViewControllerKt.MainViewController()) window?.makeKeyAndVisible() } } < /code> mainviewcontroller.kt (в Multiplin Multiplyform модуль Kotlin): < /p> import androidx.compose.ui.window.ComposeUIViewController fun MainViewController() = ComposeUIViewController { App() } < /code> app.kt (в модуле мультиплатформы Kotlin): < /p> @Composable @Preview fun App() { Box(modifier = Modifier .fillMaxSize() .systemBarsPadding() .background(Color.Yellow) ) } [/code] Пример кода проекта доступен в выпуске Yourack, сообщаемое мной.> Подробнее здесь: [url]https://stackoverflow.com/questions/79428063/compose-multiplatform-with-ios-scenes-how-to-have-correct-top-padding[/url]