IOS自定义UIButton九宫格效果
此篇文章给大家描写如何写自定义九宫格,因为在开发中,这种需求也是常见不少。因此,主要利用UIButton阐述的;
实列不复杂,就两三个步骤完成:
一、定义宽度与高度(self.view)
#defineSCREEN_WIDTH[UIScreenmainScreen].bounds.size.width #defineSCREEN_HEIGHT[UIScreenmainScreen].bounds.size.height #defineJHRGB(r,g,b)[UIColorcolorWithRed:(r/255.0)green:(g/255.0)blue:(b/255.0)alpha:1.0] #defineJHRandomColorJHRGB(arc4random_uniform(255),arc4random_uniform(255),arc4random_uniform(255))
二、定义九宫格的文字与图片
@property(nonatomic,strong)NSArray*titlesArr; @property(nonatomic,strong)UILabel*numberLab; @property(nonatomic,strong)NSArray*titleimg; -(NSArray*)titlesArr{ if(!_titlesArr){ _titlesArr=@[@"首页",@"采购",@"文章",@"社区",@"服务",@"扫描",@"定位",@"售后",@"订单"]; } return_titlesArr; } -(NSArray*)titleimg{ if(!_titleimg){ _titleimg=@[@"me",@"msg",@"meg",@"1",@"2",@"3",@"me",@"2",@"3"]; } return_titleimg; }
三、循环出9个UIBtton数据,以及相关样式动态调整
-(void)setButton{ NSIntegertotalLoc=3;//一列三个数 CGFloatW=50;//宽度 CGFloatH=W;//高度 CGFloatmargin=(self.view.frame.size.width-totalLoc*W)/(totalLoc+1); for(NSIntegeri=0;i四、点击按钮的事件监听
-(void)clickBtn:(UIButton*)btn{ NSString*stringInt=[NSStringstringWithFormat:@"%ld",(long)btn.tag]; btn.layer.transform=CATransform3DMakeScale(0.5*arc4random_uniform([stringIntfloatValue]),0.5*arc4random_uniform([stringIntfloatValue]),1); self.numberLab.text=btn.titleLabel.text; NSLog(@"%@wodianjil:",stringInt); [UIViewanimateWithDuration:0.5animations:^{ btn.layer.transform=CATransform3DMakeScale(1,1,1); }]; }总结:
如下逻辑分析:
1.上面用的是masonry布局,所以我的view容器就没用宽度,高度(写在我的view层里了)。
2.先定义一个View容器
3.在容器里,循环体里面定义button,设置button的属性等。
4.定义相关的数组,如:(文本,图片)
5.点击按钮事件触发函数;
就以上信息需要理解的逻辑,把上面的复制粘贴就可以,项目亲测可以的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。