[英]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.