button html ios,iOS实现UIButton图标和文字上下布局
首先要限制图标的大小,否则可能因为图标太大,会把文件撑出按钮区域,从而完全看不到文字,这点没找到UIButton相关配置方法。我们可以修改原图,或者直接在代码里面调整图标的大小,下面是一个调整图标大小的方法- (UIImage*)adjustImage:(UIImage *)inImage width:(CGFloat)width
height:(CGFloat)height {
CGFloat destW = width;
CGFloat destH = height;
CGFloat sourceW = width;
CGFloat sourceH = height;
CGImageRef imageRef = inImage.CGImage;
CGContextRef bitmap = CGBitmapContextCreate(NULL,
destW,
destH,
CGImageGetBitsPerComponent(imageRef),
4*destW,
CGImageGetColorSpace(imageRef), kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst);
CGContextDrawImage(bitmap, CGRectMake(0, 0, sourceW, sourceH), imageRef);
CGImageRef ref = CGBitmapContextCreateImage(bitmap);
UIImage *result = [UIImage imageWithCGImage:ref];
CGContextRelease(bitmap);
CGImageRelease(ref);
return result;
}
然后按钮的配置和网上的一样,这个已经写烂了,我就不多解释,下面提供一段我测试成功的代码片段UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setFrame:CGRectMake(32, 10, 80, 60)];
[btn setTitle:@"触屏拍摄" forState:UIControlStateNormal];
UIImage *img = [UIImage imageNamed:@"touch.png"];
img = [self adjustImage:img width: 32 height:32];
[btn setImage:img forState:UIControlStateNormal];//button的填充图片
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
btn.backgroundColor = [UIColor redColor];
btn.imageEdgeInsets = UIEdgeInsetsMake(- (btn.frame.size.height - btn.titleLabel.frame.size.height- btn.titleLabel.frame.origin.y),(btn.frame.size.width -btn.titleLabel.frame.size.width)/2.0f -btn.imageView.frame.size.width, 0, 0);
btn.titleEdgeInsets = UIEdgeInsetsMake(btn.frame.size.height-btn.imageView.frame.size.height-btn.imageView.frame.origin.y, -btn.imageView.frame.size.width, 0, 0);
button html ios,iOS实现UIButton图标和文字上下布局相关推荐
- 【iOS】UIButton 图标在上文字在下
iOS默认的UIButton是图片在左文字在右,但是很多时候需求是图片在上文字在下(如效果图1.效果图2),因此想到,通过写一个JXButton继承自UIButton,并重写相关方法即可,以后项目中需 ...
- android button 中文字位置设置,iOS开发-- 设置UIButton的文字显示位置、字体的大小、字体的颜色...
btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlS ...
- iphone11右上角信号显示_原来,iOS 11移动信号图标里竟然隐藏着 iPhone 8的巨大秘密...
原标题:原来,iOS 11移动信号图标里竟然隐藏着 iPhone 8的巨大秘密 在 iOS 11 中有一个不起眼的改变,那就是 iOS 11的移动信号强度图标由以前 iOS 10 的圆点改成了原始的阶 ...
- iOS一键生成所有图标
记录一个iOS开发一键生成图标的网站 https://icon.wuruihong.com
- iOS 图标和文字自定按钮
在项目开发中,经常需要用到按钮,系统默认的按钮是图标在左边,标题在右边.但往往实际情况是多变的,有时候图标在右边.有时候图标在上面,这个时候系统的按钮往往无法满足需求,所以我们需要自定义按钮来满足需求 ...
- iOS回顾笔记( 02 ) -- 由九宫格布局引发的一系列“惨案”
iOS回顾笔记( 02 ) -- 由九宫格布局引发的一系列"惨案" 前言(扯几句淡先) 回顾到学习UI过程中的九宫格布局时,发现当时学的东西真是不少. 这个阶段最大的特点就是:知识 ...
- ios 代码设置控件宽高比_IOS开发入门之iOS一套代码适配所有iPhone手机布局实现方案...
本文将带你了解IOS开发入门iOS一套代码适配所有iPhone手机布局实现方案,希望本文对大家学IOS有所帮助. iOS一套代码适配所有iPhone手机布局实现方案 本文主要是讲述一套代码适配所有iP ...
- iOS一套代码适配所有iPhone手机布局实现方案
iOS一套代码适配所有iPhone手机布局实现方案 本帖主要是讲述一套代码适配所有iPhone手机布局解决方案.要点是了解原理和思想. 多个项目采用了这种布局方式,感觉良好,实际情况还是要看看你们UI ...
- 移动开发(IOS) – iOS系统架构
移动开发(IOS) – iOS系统架构 1.iOS系统架构的四个层次 1.1.可触摸层(Cocoa Touch):为应用程序开发提供各种有用的框架,并且大部分均与用户界面有关,本质上来说它负责用户在i ...
- 报错 Building for iOS, but the embedded framework ‘xxx.framework‘ was built for iOS + iOS Simulator
1.问题描述 我在Xcode13.4上面运行一个集成了.a文件的工程之后报错,上一周还是好好的,突然就不行了,不知道咋回事 报错信息如下: Building for iOS, but the embe ...
最新文章
- 面试官:你说熟悉MySQL,那来谈谈InnoDB怎么解决幻读的?
- Arduino学习笔记21
- wps表格粗线和细线区别_学术论文表格制作方法解读
- 【自动驾驶】30.c++实现基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换(附代码)
- linux高端内存申请,Linux高端内存
- LeetCode 1123. 最深叶节点的最近公共祖先(递归比较子树高度)
- linux查看非注释行_Linux筛除空行和注释行的技巧
- python堆模块_python内置堆模块
- 12款优秀jQuery Ajax分页插件和教程
- 期货市场技术分析06_长期图表和商品指数
- c语言考试常考大题,C语言题库经典题 考试常考题.doc
- vc 实现打印机打印功能
- BIOS实战之Super IO-Smart Fan
- 画图软件Java实现(面向对象程序设计)
- HDU2370——Convert Kilometers to Miles
- python如何创建excel文件_python创建Excel文件数据的方法
- 串口服务器 linux,基于Linux的串口服务器设计与实现
- Windows phone 8 学习笔记(8) 定位地图导航(转)
- delphi的connection closed Gracefully错误
- 设计模式之工厂方法模式(创建型)
热门文章
- 输出毫秒_毫秒级网络监控(网络示波器)
- python通用数据库连接_python-sqlalchemy 使用学习记录之基础连接数据库安装接篇...
- html javascript 表格id,javascript 获取表格中元素id的实现代码
- 【转】mutation接收单个参数和多个参数
- 关于git远程分支操作
- 安装时后的idea,项目不能运行,pom.xml文件不能下载到本地仓库,maven配置是正确的...
- artDialog双击会关闭对话框的修改
- 【译文】Nodejs官方文档(Part 3 断言测试)
- CISCO路由器的备份与还原(2)
- 基于.NET平台的分层架构实战(八)——数据访问层的第二种实现:SQLServer+存储过程...