使用OC通过数组来存放图片并加按钮使之能够切换照片

 @interface ViewController ()

// 左边按钮

  @property(nonatomic,strong)UIButton *leftBtn;

// 右边按钮

 @property(nonatomic,strong)UIButton *rightBtn;

// 相框属性和将图片存入数组

    @property(nonatomic,strong)UIImageView *myImageView;
    @property(nonatomic,strong)NSArray *imageNames;
    @end


    @implementation ViewController

    - (void)viewDidLoad {
    [super viewDidLoad];

    self.imageNames = @[@"图片名",@"图片名",@"图片名"];

// 设置相框位置及属性

self.myImageView = [[UIImageView alloc]initWithFrame:CGRectMake(110, 100, 200, 200)];

// 导入图片 其中png格式的只需加上名字 其余的均要加上后缀

 UIImage *image = [UIImage imageNamed:@"图片名"];

// 将图片导入到相框当中

    self.myImageView.image = image;
    [self.view addSubview:self.myImageView];

//通过右边按钮实现图片交换

 -(void)rightBtnAction

    //    切换到下一张图片
    //    获取是第几张图片

    {
NSInteger index = [self.imageNames indexOfObject:self.titleLabel.text];
    //    不是最后一张便可以切换

  if (index < 4)
    {
       if (index == 3)
     {
        //            改变右边按钮颜色和关闭用户交互
     self.rightBtn.userInteractionEnabled = NO;
     UIImage *image = [UIImage imageNamed:@"right_disable"];
     [self.rightBtn setBackgroundImage: image forState:(UIControlStateNormal)];
      }
        else
        {
            //   左边按钮和颜色都处于正常状态
        self.leftBtn.userInteractionEnabled = YES;
        self.rightBtn.userInteractionEnabled = YES;
        UIImage *leftNormal = [UIImage imageNamed:@"left_normal"];
        UIImage *rightNormal = [UIImage imageNamed:@"right_normal"];
        [self.leftBtn setBackgroundImage:leftNormal forState:(UIControlStateNormal)];
        [self.rightBtn setBackgroundImage:rightNormal forState:(UIControlStateNormal)];

         }

   //        若不是最后一张那么切换下一张图片 通过定义的数组实现
        NSString *nextTitle = self.imageNames[index+1];
    //        下一张图片标题即为图片名称
        self.titleLabel.text = nextTitle;
    //        下一张图片即为数组中的下个元素名字
        self.myImageView.image = [UIImage imageNamed:nextTitle];}

     }

// 通过左边按钮实现图片交换

  -(void)leftBtnAction
    {
            //    切换到上一张图片
            //    获取是第几张图片
    NSInteger index = [self.imageNames indexOfObject:self.titleLabel.text];
            //    不是第一张便可以切换
     if (index > 0)
 {
       if (index == 1)
        {
     //          左边交互关闭
         self.leftBtn.userInteractionEnabled = NO;
         UIImage *image = [UIImage imageNamed:@"left_disable"];
         [self.leftBtn setBackgroundImage: image forState:(UIControlStateNormal)];

       else

   {
    //    左右两边按钮都是正常状态
 self.leftBtn.userInteractionEnabled = YES;
 self.rightBtn.userInteractionEnabled = YES;
 UIImage *leftNormal = [UIImage imageNamed:@"left_normal"];
 UIImage *rightNormal = [UIImage imageNamed:@"right_normal"];
                [self.leftBtn setBackgroundImage:leftNormal forState:(UIControlStateNormal)];
                [self.rightBtn setBackgroundImage:rightNormal forState:(UIControlStateNormal)];

   }

    //        若不是第一张那么切换为上一张图片 通过定义的数组实现
  NSString *lastTitle = self.imageNames[index-1];
    //        上一张图片标题即为图片名称
  self.titleLabel.text = lastTitle;
    //        上一张图片即为数组中的下个元素名字
  self.myImageView.image = [UIImage imageNamed:lastTitle];
        }

    }
 //  按钮监听
-(void)btnClickLister
  {
        NSLog(@"click btn");
  }

  //防止内存溢出
     -(void)didReceiveMemoryWarning
    { 
      [super didEeceiveMemoryWarning];
    }

    @end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值