Программа окно в окне mac os

Создание окна в окне в macOS с помощью SwiftUI

«`swift
struct WindowInView: View {
var body: some View {
// Корневое представление
ZStack {
Text(«Корневое представление»)
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.green)

// Внутреннее представление
WindowGroup {
Text(«Внутреннее представление»)
.frame(width: 200, height: 200)
.background(Color.red)
}
.frame(width: 200, height: 200)
.position(x: 100, y: 100)
}
}
}
«`

Примечания:

WindowGroup: создает внутреннее представление как отдельное окно, которое будет отображаться в корневом представлении.
.frame: задает размер и положение внутреннего окна.
.position: определяет положение внутреннего окна в корневом представлении.

Запуск приложения:

Откройте Xcode и создайте новый проект SwiftUI.
Вставьте приведенный выше код в файл ContentView.swift.
Соберите и запустите приложение.

Вы увидите главное окно приложения с зеленым фоном. Внутри него будет находиться меньшее красное окно, которое можно перемещать и изменять размер.

Доступ к внутреннему окну из SwiftUI

Чтобы получить доступ к внутреннему окну из SwiftUI, можно использовать API NSWindow:

«`swift
struct WindowInView: View {
@State var innerWindow: NSWindow?

var body: some View {
ZStack {
// Корневое представление

WindowGroup {
Text(«Внутреннее представление»)
.frame(width: 200, height: 200)
.background(Color.red)
.onAppear {
// Получение ссылки на внутреннее окно
self.innerWindow = NSApp.keyWindow!
}
}
.frame(width: 200, height: 200)
.position(x: 100, y: 100)
}
}
}
«`

Читать статью  Работают программы windows на mac os

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх