繁体   English   中英

点击时如何放大UIImageView

[英]How To Enlarge UIImageView When Tapped

我对编程很新,所以我在尝试这样做时遇到了一些问题。 我有一个在UIImageView中显示图像的应用程序,我希望当用户点击它时图像放大。 我认为最简单的方法是在UIImageView上隐藏一个半透明按钮,并在用户点击它时触发一个动作。 这就是我能得到的,我不知道我的行动方法应该是什么样子。 这是我到目前为止:

- (IBAction)enlargeImage1:(id)sender {
    CGRect myImageRect = CGRectMake(0.0f, 0.0f, self.view.frame.size.width, 80.0f); 
    UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect]; 
    [myImage setImage:[UIImage imageNamed:@"gradient-253x80.png"]]; 
    [self.view addSubview:myImage];

}

我的UIImageView被命名为imageView,我将上面的方法附加到了imageView上的UIButton。 当我点击图像时,它根本不会放大。 非常感谢任何帮助或建议,谢谢!

有两种方法可以解决这个问题。 你可以看到一个透明按钮,它可以响应一个水龙头,并在下方有图像视图。

另一种方法是简单地取消UIImageView并简单地使用UIButton。 您可以将xib / storyboard中的按钮类型设置为自定义按钮。 然后,您可以在界面构建器中设置按钮的图像或背景图像。 您只需将按钮连接到动作即可。

您的操作可能类似于头文件中的以下内容:

- (IBAction)buttonTapped:(id)sender;

在您的实现中,您只需根据您的方法更改UIImageView或UIButton的框架。

- (IBAction)buttonTapped:(id)sender {
    UIButton *button = (UIButton *)sender;
    [button setFrame:CGRectMake(0, 0, 100, 100)];
    // or [yourImageViewName setFrame:CGRectMake(0, 0, 100, 100)];
}

您需要调整CGRectMake中的值以满足您的需求。 前两个参数是按钮/图像在其父视图中显示的位置的x和y坐标。 后两个参数是按钮/图像的宽度和高度。

希望有所帮助。

*编辑您是否已将UIImageView连接到头文件中的插座?

在您的方法中,您只需更改现有图像的大小,而不是创建另一个图像。 你可以这样做:

[self.imageView setFrame:CGRectMake(0, 0, self.view.frame.size.width, 80)];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM