您的位置:首页 > 移动开发 > IOS开发

iOS Button 上文字图片位置的设置

2017-05-26 16:41 375 查看
1. 添加图片+文字/文字+图片 ,不分前后,图片默认在文字前边 加空格隔开

UIButton * button =[[UIButton alloc] initWithFrame:CGRectMake(30, 200, 300, 50)];
button.backgroundColor =[UIColor grayColor];
//图片
[button setImage:[UIImage imageNamed:@"but"] forState:UIControlStateNormal];

//文字
[button setTitle:@"  But文字" forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
button.titleLabel.font =[UIFont boldSystemFontOfSize:40];

[self.view addSubview:button];




2.设置文字图片 显示整体位置:居中、左、右; 单独设置文字的位置top : 为正数的时候,是往下偏移,为负数的时候往上偏移; left : 为正数的时候往右偏移,为负数的时候往左偏移; bottom : 为正数的时候往上偏移,为负数的时候往下偏移; right :为正数的时候往左偏移,为负数的时候往右偏移;

UIButton * button =[[UIButton alloc] initWithFrame:CGRectMake(30, 200, 300, 50)];
button.backgroundColor =[UIColor grayColor];
//文字
[button setTitle:@"But文字" forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
button.titleLabel.font =[UIFont boldSystemFontOfSize:40];
//图片
[button setImage:[UIImage imageNamed:@"but"] forState:UIControlStateNormal];

/////////////修改///////////////////
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;//使图片和文字水平居中显示
/*
UIControlContentHorizontalAlignmentCente
UIControlContentHorizontalAlignmentLeft
UIControlContentHorizontalAlignmentRight
UIControlContentHorizontalAlignmentFill */
//文字 可以显示在 button 视图之外,但不接收点击事件响应
[button setTitleEdgeInsets:UIEdgeInsetsMake(button.imageView.frame.size.height ,button.imageView.frame.size.width, 0.0,0.0)];//文字距离上边框的距离增加imageView的高度,距离左边框减少imageView的宽度,距离下边框和右边框距离不变
///////////////////////////////////////

[self.view addSubview:button];




3.效果:


UIButton * button =[[UIButton alloc] initWithFrame:CGRectMake(30, 200, 300, 50)];
button.backgroundColor =[UIColor grayColor];
//文字
[button setTitle:@"But文字" forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
button.titleLabel.font =[UIFont boldSystemFontOfSize:40];
//图片
[button setImage:[UIImage imageNamed:@"xia"] forState:UIControlStateNormal];

/////////////修改///////////////////
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
button.imageEdgeInsets = UIEdgeInsetsMake(0,300-50, 0, 0); //上左下右

//button.titleEdgeInsets = UIEdgeInsetsMake(0,300-50, 0, 0); // 设置文字的位置 上左下右

///////////////////////////////////////  [self.view addSubview:button];


4/ 但是图片尺寸大了 位置会错乱, 如有遇到的请评论指点

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000; min-height: 13.0px }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000; min-height: 13.0px }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000; min-height: 13.0px }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000; min-height: 13.0px }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000; min-height: 13.0px }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #00afca }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ffffff; min-height: 13.0px }
span.s1 { color: #ffffff }
span.s2 { color: #93c96a }
span.s3 { }
span.s4 { color: #d28f5a }
span.s5 { color: #e44347 }
span.s6 { color: #8b84cf }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000; min-height: 13.0px }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #00afca }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ffffff }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ffffff; min-height: 13.0px }
span.s1 { color: #ffffff }
span.s2 { }
span.s3 { color: #8b84cf }
span.s4 { color: #4dbf56 }
span.s5 { font: 11.0px "PingFang SC"; color: #4dbf56 }
span.s6 { color: #e44347 }
span.s7 { font: 11.0px "PingFang SC"; color: #e44347 }
span.s8 { color: #c2349b }
span.s9 { color: #00afca }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000; min-height: 13.0px }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.5px Calibri; color: #000000; min-height: 13.0px }
span.s1 { }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: