xcode 九宫格纯代码实现
#import "ViewController.h" @interface ViewController () //定义一个UIView容器 @property(nonatomic,strong)UIView * view1; //定义一个UIButton按钮 @property(nonatomic,strong)UIButton *btn; //定义一个UIButton按钮 @property(nonatomic,strong)UIButton *btn2; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; /** 创建按钮 */ //给view容器设置背景颜色 self.view.backgroundColor=[UIColor lightGrayColor]; //初始化按钮并且给按钮设置位置 self.btn=[[UIButton alloc]initWithFrame:CGRectMake(28, 28, 50, 50)]; //按钮普通状态下的图片 [self.btn setBackgroundImage:[UIImage imageNamed:@"add"] forState:UIControlStateNormal]; //按钮失效状态下的图片 [self.btn setBackgroundImage:[UIImage imageNamed:@"add_disabled"] forState:UIControlStateDisabled]; //按钮高亮状态下的图片 [self.btn setBackgroundImage:[UIImage imageNamed:@"add_highlighted"] forState:UIControlStateHighlighted]; [self.view addSubview:self.btn]; /** 创建按钮 */ self.btn2=[[UIButton alloc]initWithFrame:CGRectMake(286, 28, 50, 50)]; [self.btn2 setBackgroundImage:[UIImage imageNamed:@"remove"] forState:UIControlStateNormal]; [self.btn2 setBackgroundImage:[UIImage imageNamed:@"remove_disabled"] forState:UIControlStateDisabled]; [self.btn2 setBackgroundImage:[UIImage imageNamed:@"remove_highlighted"] forState:UIControlStateHighlighted]; //往容器中加按钮 [self.view addSubview:self.btn2]; //设置容器的初始化状态 self.btn2.enabled=NO; /** 创建容器 */ //创建一个新的容器并且初始化位置 self.view1=[[UIView alloc]initWithFrame:CGRectMake(39, 104, 297, 325)]; //设置背景颜色 self.view1.backgroundColor=[UIColor whiteColor]; //加入父容器中 [self.view addSubview:self.view1]; /** 按钮点击事件 */ [self.btn addTarget:self action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside]; [self.btn2 addTarget:self action:@selector(btn2Click) forControlEvents:UIControlEventTouchUpInside]; } /** 添加 */ -(void)btnClick{ //显示的行数的个数 NSUInteger colsPerRow=3; //获取容器加载的个数 NSUInteger index=self.view1.subviews.count; //容器的宽 CGFloat appW=70; //容器的高 CGFloat appH=90; //计算容器的行 NSUInteger col=index%colsPerRow; //计算容器的列 NSUInteger row=index/colsPerRow; //计算容器的间距值 CGFloat appMarginX=(self.view1.frame.size.width-colsPerRow*appW)/(colsPerRow-1); //计算容器的X的位置 CGFloat appX=(appW+appMarginX)*col; //容器的Y值 CGFloat appMarginY=20; //计算容器的Y的位置 CGFloat appY=(appH+appMarginY)*row; //创建容器 UIView *shopView=[[UIView alloc]init]; //设置容器的位置 shopView.frame=CGRectMake(appX, appY, appW, appH); //调试使用的背景颜色 // shopView.backgroundColor=[UIColor redColor]; //加载到父容器中 [self.view1 addSubview:shopView]; //创建图片容器 UIImageView * imgView=[[UIImageView alloc]init]; //给图片容器添加图片 imgView.image=[UIImage imageNamed:@"danjianbao"]; //给图片容器初始化位置 imgView.frame=CGRectMake(0, 0, appW, appW); [shopView addSubview:imgView]; //创建文字容器并且初始化位置 UILabel * lab=[[UILabel alloc]initWithFrame:CGRectMake(0, appW, appW, appH-appW)]; //设置文字 [lab setText:@"单肩包"]; //设置居中对齐 lab.textAlignment=NSTextAlignmentCenter; //设置文本的阴影色彩和透明度 lab.shadowColor=[UIColor colorWithWhite:0.667 alpha:0.333]; //设置倾斜角度 lab.shadowOffset=CGSizeMake(1.0, 1.0); //加入容器中 [shopView addSubview:lab]; /** 设置按钮状态 */ self.btn2.enabled=YES; self.btn.enabled=(self.view1.subviews.count<9); } /** 删除 */ -(void)btn2Click{ //从最后删除 [ self.view1.subviews.lastObject removeFromSuperview ]; /** 设置按钮状态 */ self.btn.enabled=YES; self.btn2.enabled=(self.view1.subviews.count>0); } @end
图片资源:







浙公网安备 33010602011771号