图片的放大和缩小的点击响应方法如何实现 麻烦用代码补充下

图片的放大和缩小的点击响应方法如何实现 麻烦用代码补充下

//海报图片按钮
-(void)button5{
    
    UIButton *button6 = [[UIButton alloc]initWithFrame:CGRectMake(85, 110, 150, 200)];
    [button6 setImage:[UIImage imageNamed:@"1"]forState:UIControlStateNormal];
    
    button6.layer.borderColor = [UIColor cyanColor].CGColor;
    
    button6.layer.borderWidth = 3.0;
    button6.layer.cornerRadius = 8.0;
    [button6 addTarget:self action:@selector(buttonAction3:) forControlEvents:UIControlEventTouchUpInside]; //添加响应方法
    [self.view addSubview:button6];
    

    
    
}
-(void)buttonAction3:(UIButton*)bt4{  //点击海报的响应
    //添加阴影
    UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0,0,320, 568)];
    view.backgroundColor = [UIColor blackColor];
    view.alpha =0.8;
   
    
    [self.view addSubview:view];
 
    
}

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
Tender10 2018-04-24 16:18:01

我先跟你说以下实现的思路,你可以尝试一下。

1、定义一个点击放大图片的响应事件。

2、在方法中先获取到展示图片的控件按钮,然后重新设置一下该控件的位置和大小。

你想想一下,放大图片,无非就是将图片的位置大小重新设置了一下。

  • 提问者 觉觉猪 #1
    -(void)buttonAction3:(UIButton*)bt4{ //点击海报的响应 UIButton *cover = [[UIButton alloc] init]; cover.frame = self.view.bounds; cover.backgroundColor = [UIColor blackColor]; cover.alpha = 0; self.cover = cover; [self.view addSubview:cover]; // 2.更换阴影和图片的位置 [self.view bringSubviewToFront:bt4]; // 3.更改图像大小,显示阴影 cover.alpha = 0.6; CGFloat iconWidth = self.view.frame.size.width; CGFloat iconHeight = iconWidth; CGFloat iconX = 0; CGFloat iconY = (self.view.frame.size.height / 2) - (iconHeight / 2); bt4.frame = CGRectMake(iconX, iconY, iconWidth, iconHeight); // 1.2给阴影添加变回小图的触发事件 [bt4 addTarget:self action:@selector(smallImg:) forControlEvents:UIControlEventTouchUpInside]; } - (void) smallImg:(UIButton *)sm1 { // 1.删除阴影 self.cover.alpha = 0; // 2.恢复图片 sm1.frame = CGRectMake(85, 110, 150, 200); [self.view addSubview:sm1]; }
    2018-04-24 18:06:36
  • 提问者 觉觉猪 #2
    只能实现一次啊 如何重复实现?
    2018-04-24 18:06:58
  • Tender10 回复 提问者 觉觉猪 #3
    你说的重复实现是什么意思,就是点击按钮,同时实现放大和缩小是吗。可以定义一个BOOL值,记录按钮的点击状态。默认为false,在方法中判断,if为false,就实现放大的功能,并且将BOOL值修改为true。然后判断if为true时,就实现缩小的功能,并修改BOOL值为false。
    2018-04-24 18:38:25
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS入门:基础语法与常用控件
  • 参与学习       1337    人
  • 提交作业       712    份
  • 解答问题       1878    个

很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师