您的位置:首页 > 产品设计 > UI/UE

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

2016-07-12 20:18 405 查看
@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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息