ios - 如何在其父 View 中完全限制 subview (这是一个 UIImageView)?

标签 ios objective-c uiscrollview uiimageview uiimage

我想在 ScrollView 中显示照片。因为我想向用户显示整张照片,然后允许用户捏合照片来放大和缩小。所以首先我将 contentsize 设置为固定大小(例如 (320, 568))。但是,当我添加 UIImageView 作为 ScrollView 的 subview 时,如果 UIImageView 的图像大小大于 ScrollView 的内容大小,则只会显示图像的上半部分和左半部分。所以我想知道如何限制 ScrollView 中的 ImageView 并设置图像显示良好(如大多数应用程序中的照片)。我知道一种方法:clipsToBounds,并且我使用它。但它不起作用。谁能帮我?这是我的简单代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.photoScrollView.contentSize = CGSizeMake(320, 568);
    self.photoScrollView.clipsToBounds = YES;

    UIImage *image = [UIImage imageNamed:@"image"];
    UIImageView *iv = [[UIImageView alloc] initWithImage:image];

    [self.photoScrollView addSubview:iv];

    [iv sizeToFit];
    iv.contentMode = UIViewContentModeScaleAspectFit;

}

提前致谢!

最佳答案

    - (void)viewDidLoad
    {
        [super viewDidLoad];

        self.photoScrollView.contentSize = CGSizeMake(320, 568);
        self.photoScrollView.clipsToBounds = YES;

        self.photoScrollView.maximumZoomScale = 3.0;
        self.photoScrollView.minimumZoomScale = 1.0;

        UIImage *image = [UIImage imageNamed:@"image"];
        UIImageView *iv = [[UIImageView alloc] initWithImage:image];

        [self.photoScrollView addSubview:iv];


        iv.contentMode = UIViewContentModeScaleAspectFit;
        iv.frame=CGRectMake(0, 0, 320, 568); // update this line
// Declare UIImageView* imgView property then assign self.imgView=iv;

    }

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

关于ios - 如何在其父 View 中完全限制 subview (这是一个 UIImageView)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23311541/

相关文章:

ios - 引入 SocketRocket 时出现 Apple Mach-O 链接器错误

objective-c - NSView Controller 位于 NSWindow Controller 内部吗?

objective-c - 测试gmail帐户是否存在

ios - 在 UIView 中初始化 UIScrollView 显示警告 : 'Local declaration hids instance variable'

ios - 在第一张图片之外的其他地方启动 ScrollView

ios - 无法识别的选择器发送到实例 [UIView setRefreshControl :]

iphone - 2013 年 4 月更新的 Apple 开发者网站不允许将设备添加到 Ad Hoc Provisioning Profile

iOS 6.1.3 Mobile Safari/UIWebView 发送错误的区域设置区域代码

ios - 如何更改图像并重置它?

iOS - UIScrollView hitTest 不包含触摸