#macos #swiftui
#macos #swiftui
Вопрос:
Мне нравится масштабировать изображение на macOS с помощью пинч-жеста, который хорошо работает. Но изображение всегда масштабируется (и ожидаемо) по центрам.
Что мне нужно, так это то, что изображение масштабируется с помощью привязки к указателю мыши. Но я понятия не имею, как прочитать текущую позицию указателя мыши. Что у меня есть до сих пор:
GeometryReader { geo in
ScrollView([.horizontal, .vertical], showsIndicators: true) {
Image(nsImage: image!)
.resizable()
.scaledToFill()
.animation(.default)
**// Here the 'anchor' should have a pointer position **
.scaleEffect(setZoom(magnificationLevel: magnificationState.scale), anchor: UnitPoint.center)
.frame(width: geo.size.width, height: geo.size.height)
.onAppear() {
self.imageMagnificationState = CGFloat(1.0)
}
}
}
Есть ли какой-либо фрагмент для этой ежедневной задачи? Как получить положение курсора? Документ SwiftUI здесь очень хромает.