点击时如何放大UIImageView

我对编程很新,所以我在尝试这样做时遇到了一些问题。 我有一个在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连接到头文件中的sockets?

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

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