Как новичок в SwiftUI, я только недавно начал создавать свое первое приложение для MacOS. Однако, когда я пытался реализовать NSVisualEffectView для размытия фона, contentView
, который я использовал, уходил с экрана, который вообще не был виден. Выглядело это примерно так:
Итак, я попытался исправить размер текста, который у меня был в contentView
, превратив его в Text("Hello world!").frame(width: 700, height:500)
, и экран стал таким:
При этом в нижнем левом углу можно увидеть крошечные формы Hello world!
. Однако, если я не расположу текст в верхнем правом углу contentView
, я не могу его переместить. Кто-нибудь знает, как это исправить?
* Для справки вот содержание AppDelegate.swift
:
import SwiftUI
@main
class AppDelegate: NSObject, NSApplicationDelegate {
var window: NSWindow!
func applicationDidFinishLaunching(_ aNotification: Notification) {
// Create the SwiftUI view that provides the window contents.
let contentView = ContentView()
let visualEffect = NSVisualEffectView()
visualEffect.blendingMode = .behindWindow
visualEffect.state = .active
visualEffect.material = .fullScreenUI
visualEffect.addSubview(NSHostingView(rootView: contentView))
// Create the window and set the content view.
window = NSWindow(
contentRect: .zero,
styleMask: [.titled, .closable, .miniaturizable, .resizable, .fullSizeContentView],
backing: .buffered, defer: false)
window.isReleasedWhenClosed = false
window.center()
window.setFrameAutosaveName("Main Window")
window.contentView = visualEffect
window.makeKeyAndOrderFront(nil)
window.titlebarAppearsTransparent = true
window.titleVisibility = .hidden
}
func applicationWillTerminate(_ aNotification: Notification) {
// Insert code here to tear down your application
}
}
contentView()
, что означало, что строка заголовка появляется снова. Есть ли способ это изменить? - person i3ta   schedule 23.11.2020maxWidth
иmaxHeight
на.infinity
, что исправило его. Не знаю почему. - person i3ta   schedule 23.11.2020