gpt4 book ai didi

iOS 在启用缩放(捏合和双击)的情况下全屏显示 UIImage

转载 作者:可可西里 更新时间:2023-11-01 06:20:08 25 4
gpt4 key购买 nike

我有一个使用 UIImagePickerController 从相机捕获的 UIImage

现在,在用户点击它后,我希望它显示全屏,并能够使用捏合手势放大和缩小,还可以通过双击手势放大特定区域。换句话说,我想模拟 ios 的默认图像浏览器的功能。

我在 UIImageView 中显示捕获的图像:

self.imageView.contentMode = UIViewContentModeScaleAspectFill;

使图像全屏显示。但是我如何实现缩放。我需要使用手势识别器从头开始吗?或者也许有一个默认的图像显示 View ,其中包含我不知道的所有实现?

最佳答案

我已经为我的一个应用程序创建了这种效果,不要忘记设置 ScrollView 的委托(delegate)。

.h文件的代码

#import <UIKit/UIKit.h>

@interface ImageViewerController : UIViewController<UIScrollViewDelegate>

// The scroll view used for zooming.
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;

// The image view that displays the image.
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

// The image that will be shown.
@property (strong, nonatomic) NSString *imageUrlString;

@end

.m 的代码

#import "ImageViewerController.h"

@interface HNImageViewerController ()

- (IBAction)handleSingleTap:(UIButton*)tapGestureRecognizer;
@end

@implementation ImageViewerController

- (void)viewDidLoad {
[super viewDidLoad];
[self.imageView setImage:[UIImage imageNamed:@"placeholder-image"]];
self.scrollView.delegate=self;
}

- (BOOL)prefersStatusBarHidden {
return YES;
}

#pragma mark - UIScrollViewDelegate methods

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return self.imageView;
}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
if (self.scrollView.zoomScale == self.scrollView.minimumZoomScale) {
[self dismissViewControllerAnimated:YES completion:nil];
}
}

#pragma mark - Private methods

- (IBAction)handleSingleTap:(UIButton *)tapGestureRecognizer {

[self dismissViewControllerAnimated:YES completion:nil];
}

关于iOS 在启用缩放(捏合和双击)的情况下全屏显示 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21579882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com