相关疑难解决方法(0)

在 Swiftui 中没有一种简单的方法可以通过捏来放大图像吗?

我希望能够在 SwiftUI 中调整大小和移动图像(就像它是地图一样),并通过捏来缩放和拖动它。

使用 UIKit 我将图像嵌入到 a 中UIScrollView并处理它,但我不知道如何在 SwiftUI 中执行此操作。我尝试使用,MagnificationGesture但我无法让它顺利工作。

我已经搜索了一段时间了,有没有人知道是否有更简单的方法?

image scrollview pinchzoom swift swiftui

27
推荐指数
13
解决办法
2万
查看次数

SwiftUI:放大手势以 CGPoint 为中心放大

我有一段代码,允许您使用放大手势放大和缩小带有渐变的圆。如果我将手指放在屏幕中间并进行缩放,效果很好,但如果我将手指放在屏幕边缘并执行放大手势,我希望它放大手指之间的点。目前,它仍然以屏幕中心为中心进行放大。

如何修改我的代码以允许用户在手指放置之间以 CGPoint 为中心?

struct ContentView: View {
    @GestureState var magnificationState = MagnificationState.inactive
    @State var viewMagnificationState = CGFloat(1.0)
    
    var magnificationScale: CGFloat {
        return viewMagnificationState * magnificationState.scale
    }
    
    var body: some View {
        let gradient = Gradient(colors: [.red, .yellow, .green, .blue, .purple, .red, .yellow, .green, .blue, .purple, .red, .yellow, .green, .blue, .purple])
        
        let magnificationGesture = MagnificationGesture()
            .updating($magnificationState) { value, state, transaction in
                state = .zooming(scale: value)
            }.onEnded { value in
                self.viewMagnificationState *= value
            }
        
        
        Circle()
            .fill(
                RadialGradient(gradient: gradient, center: .center, startRadius: …
Run Code Online (Sandbox Code Playgroud)

gesture magnification swift swiftui

13
推荐指数
1
解决办法
1085
查看次数

使用PinchGesture; 如何放大用户的手指实际"捏"的位置?

我已经在我的应用程序中的UIImageView上实现了UIPinchGestureRecognizer,但是无论我在哪里捏图像,它似乎都放大到相同的位置.有谁知道如何让它放大到用户实际"捏"的位置?见下面的代码.

ViewController.m

 - (IBAction)scaleImage:(UIPinchGestureRecognizer *)recognizer {

   recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
   recognizer.scale = 1; 

 }

 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch;
{
    BOOL shouldReceiveTouch = YES;

    if (gestureRecognizer == tap) {
        shouldReceiveTouch = (touch.view == featureImage);
    }
    return shouldReceiveTouch;
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios uipinchgesturerecognizer

11
推荐指数
2
解决办法
9162
查看次数