CGFloatStart_X = 15.0f // 第一个按钮的X坐标
CGFloatStart_Y = _password.frame.origin.y+_password.frame.size.height+35 // 第一个按钮的Y坐标
CGFloatWidth_Space = 15.0f // 2个按钮之间的横间距
CGFloatButton_Height =35.0f // 高
CGFloatButton_Width = (loginView.frame.size.width-45)/2 // 宽
NSArray* titleArray =@[@"取消",@"登录"]
for ( int i =0i <2i++) {
// 圆角按钮
UIButton* Button = [[UIButtonalloc]init]
Button.tag= i//这句话不写等于废了
Button.frame=CGRectMake(i * (Button_Width + Width_Space) + Start_X, Start_Y, Button_Width, Button_Height)
Button.layer.masksToBounds= YES
Button.layer.cornerRadius=5
[ButtonsetTitle:titleArray[i]forState:UIControlStateNormal]
if (i==0) {
Button.backgroundColor= [UIColorcolorWithRed:148.0/255.0green:148.0/255.0blue:148.0/255.0alpha:1]
} else {
Button.backgroundColor= [UIColorcolorWithRed:79.0/255.0green:139.0/255.0blue:244.0/255.0alpha:1]
}
[ButtonaddTarget: self action: @selector (ButtonAction:)forControlEvents:UIControlEventTouchUpInside]
[loginViewaddSubview:Button]
}
多行多列的按钮
CGFloatStart_X =15.0f // 第一个按钮的X坐标
CGFloatStart_Y = whightView.Y+30 // 第一个按钮的Y坐标
CGFloatWidth_Space =15.0f // 2个按钮之间的横间距
CGFloatHeight_Space=20.0f // 竖间距
CGFloatButton_Height =40.0f // 高
CGFloatButton_Width =(SCREEN_WIDTH-45)/2 // 宽
NSArray* titleArray =@[@"失败",@"执行中",@"成功",@"中断"]
_ButtonArray = [[NSMutableArray alloc]init]
for ( int i =0i <titleArray.count
i++) {
NSIntegerindex = i %2
NSIntegerpage = i /2
// 圆角按钮
UIButton*PlanTypeBtn = [UIButtonbuttonWithType:UIButtonTypeRoundedRect]
PlanTypeBtn.tag= i//这句话不写等于废了
PlanTypeBtn.frame=CGRectMake(index * (Button_Width + Width_Space) + Start_X, page * (Button_Height + Height_Space)+Start_Y, Button_Width, Button_Height)
[PlanTypeBtnsetTitleColor:[UIColor blackColor] forState:UIControlStateNormal]
[PlanTypeBtnsetTitle:titleArray[i]forState:UIControlStateNormal]
PlanTypeBtn.layer.cornerRadius=5
PlanTypeBtn.layer.masksToBounds= YES
PlanTypeBtn.layer.borderWidth=1
PlanTypeBtn.layer.borderColor = RGBCOLOR(148,148,148).CGColor
[ self addSubview:PlanTypeBtn]
[_ButtonArray addObject:PlanTypeBtn]
//按钮点击方法
[PlanTypeBtnaddTarget: self action: @selector (PlanTypeBtnClick:)forControlEvents:UIControlEventTouchUpInside]
}
// 多个按钮的展示
-( void )PlanTypeBtnClick:(UIButton*)btn{
for (UIButton *btn1 in _ButtonArray){
if (btn1.tag == btn.tag){
[btn1 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]
btn1.layer.borderColor = RGBCOLOR(79,139,244).CGColor
btn1.backgroundColor =RGBCOLOR(79,139,244)
} else {
btn1.layer.borderWidth =1
btn1.layer.borderColor = RGBCOLOR(148,148,148).CGColor
btn1.backgroundColor =[UIColor clearColor]
}
}
}
需要了解:
在StoryBoard上选中button,在属性面板里面可以看到如图所示的内容,这个地方Class就是需要填写你自定义实现的Class。
有了了解,添加类就很简单了。
步骤:
你需要添加一个类文件,这个类继承自UIButton。
将类名称填写到上图所示的Class中。
延伸:
如果你想知道我们在自定义这个Button类中可以做哪些事情,请按住command按键,然后鼠标点击你程序中书写的UIButton这个类名,就可以看到他的说明文件,在这个说明文件中你可以看到UIButton控件类继承自谁,定义了哪些方法。你可以在你自定义继承自UIButton的类中实现或者重写这些方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)