UIButton 的全面解析 建议收藏,用到的时候来这里一查就都明白了 //初始化Button 不用alloca init 的方法 用便利构造器初始化 UIButton *button = [UIButton...//设置button的背景图片 [button setBackgroundImage:[UIImage imageNamed:@"11.png"] forState:UIControlStateNormal...]; //获取指定状态下的背景图片 UIImage *tempImage = [button imageForState:UIControlStateNormal]; //设置前景图片 前景图片必须是镂空图...返回button 某个状态下的背景图片 - (nullable UIImage *)backgroundImageForState:(UIControlState)state; 返回button...*currentImage; 获取按钮当前标题背景图片 @property(nullable, nonatomic,readonly,strong) UIImage *currentBackgroundImage
#import @interface UIButton (MutableTitle) /** * 根据添加的title 改变 button 的长度 * * @...NSString *)text textFont:(UIFont *)textFont forState:(UIControlState)UIControlState; @end #import "UIButton...+MutableTitle.h" @implementation UIButton (MutableTitle) - (void)setMutableTitleWithString:(NSString...self_Rect.origin.x -= (tempSize.width - self.frame.size.width)/2; self.frame = self_Rect; } /** * 字符串获取属性...+MutableTitle.h" UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 40)]; button.center
UIButton的用处特别多,这里只记录下把按钮应用在图文显示的场景,和需要把图片作为按钮的背景图片显示场景; 另外记录下在父控件的子控件优先显示方法(控件置于最前面和置于最后面)。...但是有时候,产品要求显示的按钮左右必须是圆形的,这时候虽然可以让ui切个适配的图片做背景,其实针对如果是背景图片是纯色的话,我们可以利用 控件的layer.masksToBounds, 和layer.cornerRadius...下面写了五个橙色背景的按钮作比较:背景图片和按钮尺寸匹配的、背景图片和按钮尺寸或偏大或偏小的、处理背景图片让背景图片自适应按钮的、不用背景图片使用图层来设置按钮左右圆形的: /** 测试给按钮设置背景图片...,设置背景颜色当做有背景图片 UIButton *clickBtn5 = [[UIButton alloc] initWithFrame:CGRectMake(180, 300, 150, 60...[self addMoveImgAndTextButton]; //添加图文并茂的按钮,测试按钮上的图文移动 [self addBackgroundImgButton]; //添加设置背景图片的按钮
UIButton一般分为高亮的普通两种状态,原生的方法可以设置这两种不同状态下的文字颜色,文字内容,背景图片,按钮图片。但是不能设置按钮的背景色。...方法一:通过按钮的事件来设置背景色 - (void)viewDidLoad { [super viewDidLoad]; UIButton *button1 = [[UIButton...]; } // button1高亮状态下的背景色 - (void)button1BackGroundHighlighted:(UIButton *)sender { sender.backgroundColor...= [UIColor greenColor]; } 方法二:通过把颜色转换为UIImage来作为按钮不同状态下的背景图片 - (void)viewDidLoad { [super viewDidLoad...]; UIButton *button2 = [[UIButton alloc] initWithFrame:CGRectMake(170, 200, 100, 50)];
6.设置按钮点击状态的背景图片 : 将 State Config 切换到 Highlighted 状态, 此时可以设置 高亮状态下的按钮属性, 将 Background 中设置对应的按下的图片, 文字设置成按下的文字..., 这里为了避免这种情况, 需要 将 Type 属性设置为 Custom , 这样就可以自己定制按钮的属性了; 9.设置向上箭头按钮 : 设置向上箭头按钮, 并设置其 默认背景图片, 高亮状态背景图片...; 6.获取 tag : 使用 sender.tag 即可获取 UIButton 标签 , 根据 tag 执行不同的逻辑 ; 控件关联的方法 , 是否传入 UIButton 控件 , 在于是否需要获取...方法名称 changeColor, 类型为 UIButton, 事件为 Touch Up Inside, 传入的参数暂时设置为 Sender 这里需要将 按钮本身传回, 用于获取其父控件 ; 点击 Connect...: ① 获取图片对象 : 使用 [UIImage imageNamed:@"bg.png"]; 可以获取 UIImage 对象; ② 设置按钮的背景图片属性 [button setBackgroundImage
但是如果有状态是有透明或者半透明的效果,上面这个方法还是不能胜任,越透明越明显;经过一番查找,终于发现问题: 问题: 1、iOS 13之前,可以通过valueForKey 获取UIApplication...通过上面的代码获取statusBar时,发现每次每次获取都调用 alloc:init的方法,重新生成一个statusBar;然后添加到UIApplication的keyWindow上,再设置背景颜色。.../** 用于设置状态栏的背景图片 */ @property (weak, nonatomic) UIButton *imgLable; - (UIButton *)imgLable{...if (nil == _imgLable) { UIButton *tmpView = [[UIButton alloc]init]; _imgLable = tmpView...[[UIApplication sharedApplication] statusBarFrame].size.height; NSLog(@"状态栏高度:%f",statusHeight); //获取导航栏的高度
https://blog.csdn.net/u010105969/article/details/52840728 在设置UIButton的图片的时候发现有两个方法setBackgroundImage...和 setImage,之前并没有发现两者有太大的区别(使用setBackgroundImage后设置title没问题,使用setImage后设置的title会被挡住),因为项目中使用的带有图片的按钮几乎没有文字...而哪些带有文字的按钮也没有什么特殊的图片,于是会不使用图片。所以本人一直使用的setBackgroundImage。 可在使用这个方法的时候有一个问题,按钮的大小必须和图片大小一样,不然图片会拉伸。...于是我每次都会将按钮的大小设置成按钮要使用的图片的大小。可这样设置了之后,有些按钮上的图片会比较小,这样点击区域就回比较小,从而给用户带来不是很好的体验效果。...而在使用了setImage这个方法之后发现按钮上的图片并不会发生拉伸,而是居中显示在按钮上,这正是我项目中所要的效果。于是决定在今后项目中更多地去使用setImage方法。
的使用 http://my.oschina.net/u/1781028/blog/406683 1.1.5 高亮背景色设置 UIButton设置高亮状态下的背景色【原创】 http://blog.it985...= [UIColor greenColor]; } 2, 通过把颜色转换为UIImage来作为按钮不同状态下的背景图片 - (void) viewDidLoad { [super viewDidLoad...UIColor grayColor]] forState: UIControlStateHighlighted]; [self.view addSubview: button2]; } // 颜色转换为背景图片...是64*64的 1.1.6.2 网上代码2 iOS UIButton设置图片文字垂直排列 http://my.oschina.net/sayonala/blog/198376 经过一下午的查阅资料及尝试...,最终解决了在图片和文字垂直排列的情况下,如果文字长度变化会导致图片位置变动的问题,最开始采用了网上比较多的做法,做法如下: @interface UIButton (UIButtonExt) - (
这次支付宝手机客户端升级,把手势解锁那个功能去掉了,引起很多人的抱怨,觉得少了手势解锁的保护,个人信息容易泄漏了。。。...那么手势解锁功能是怎么是实现的呢,这里使用Quart2D来简单模拟一下, 先看下截图效果: ? ? ? 按钮的有两个背景图片,一个默认样式,一个用于选中样式: ? ?...cancelButtonTitle:@"确定" otherButtonTitles:nil, nil]; 103 [alert show]; 104 } 105 106 //监听触摸移动,获取触摸坐标...107 - (CGPoint)getPoint: (NSSet *)touches{ 108 UITouch *touch = [touches anyObject]; //获取当前接触点 109...return [touch locationInView:self]; //获取当前触点在父对象中的位置 110 } 111 112 //根据坐标获取按钮对象 113 - (UIButton
iOS的UIButton是一个非常常见而且常用的控件,我们一般用他来实现某个功能的提交以及选择操作。...两个子视图;而有的人则不会用UIButton来实现图文结合的功能。...答案是否定的,其实UIButton本身是可以支持各种图文结合的,既然UIButton上能同时显示图片和文字,那就可以肯定的说UIButton里面本身一定有一个UIImageView和UILabel8子视图...setTitle:forSate:和setImage:forSate:后才能获取到,否则有可能会返回nil。...,我想应该可以满足您的需求了,如果这些图文结合的样式还是无法满足您的需求时则您还是别用UIButton了。
大家好,又见面了,我是你们的朋友全栈君。 1.背景图片的插入方法 行内样式插入背景图: 在css样式表中引入背景图 注意:设置背景图片的元素一定要有具体的宽度和高度,否则会导致背景图片无法显示 2.背景图相关属性的设置 2.1 background-size...规定了指定背景图片background-image 属性的原点位置的背景相对区域。...它的属性取值有:border-box、padding-box、content-box (1)border-box:背景图片的摆放以border区域为参考 div{ width...(2)padding-box:背景图片的摆放以padding区域为参考 div{ width: 1000px; height: 700px;
UIButton控件是应用界面中常用的一个控件,用法总结: 一、初始化 UIButton的初始化一般使用其类方法,+ (id)buttonWithType:(UIButtonType)buttonType...,这个属性将不起任何作用,它只作用于系统的 @property(nonatomic,readonly) UIButtonType buttonType; //设置button的风格 三、一些set方法...:(UIControlState)state; //设置按钮背景图片和显示图片时的状态 - (void)setAttributedTitle:(NSAttributedString *)title forState...:(UIControlState)state NS_AVAILABLE_IOS(6_0); //通过AttributeString创建标题 注意:按钮图片设置和背景图片的不同在于: 1、...设置图片,如果有标题会和标题并列显示 2、设置背景图片会出现在标题下面 3、图片的偏移量可以设置,背景图片不可以。
接下来,简单介绍一个我在实际开发中抽取出来的工具类 - MNKit MNButton 业务开发中,UIButton控件应该算最常用的控件之一了,而且它的属性设置还贼麻烦,很多个都是要用 [ set...*btn = [[UIButton alloc]init]; [btn setTitle:@"获取验证码" forState:UIControlStateNormal]; [btn setTitleColor...MNButton简化上述代码: //一句代码设置 - 按钮标题 && 颜色 && 字号 && 父试图 && 响应方法 MNButton *sendBtn = [MNButton buttonWithTitle:@"获取验证码...这一行代码即可创建拥有上面代码所需要的按钮的基本属性 UIButton 除了有文字标题展示的样式之外,也有用image 或者 backgroundImage展示的情况 //一句代码设置 - 按钮背景图片...设置图片是设置BackgroundImage让他铺满整个button,所以这里的方法传入的属性是BackgroundImage ---- MNLabel 业务开发中,UIButton控件如果登场率如果不能排在第一
大家好,又见面了,我是你们的朋友全栈君。 <!...charset= “utf-8” /> < meta http-equiv= “X-UA-Compatible” content= “IE=edge” > < title >背景图片的精灵图的使用...– 精灵图使用(重点) ☞浏览器中的坐标系 圆点以右为正方向,圆点以下为正。 ☞CSS精灵是一种处理网页背景图像的方式。...精灵图也是一种背景图片 ☞精灵图的使用 ◆使用fw一定要用打开的方式打开精灵图 ◆使用精灵图作为背景图片的时候,常与background-position配合使用 ◆测量精灵图中的元素的坐标使用矩形选择器
第一、UIButton的定义 UIButton *button=[[UIButton buttonWithType:(UIButtonType); 能够定义的button类型有以下6种, typedef...= [UIColor clearColor]; [button setBackgroundColor:[UIColor blueColor]]; 第四、state状态 forState: 这个参数的作用是定义按钮的文字或图片在何种状态下才会显现...UIControlStateNormal = 0, 常规状态显现 UIControlStateHighlighted = 1 << 0, 高亮状态显现 UIControlStateDisabled = 1 的状态才会显现...property(nonatomic,getter=isHighlighted)BOOL highlighted; 第五 、设置button填充图片和背景图片
背景介绍 :在普通的iOS开发组中,一般测试机都不止一台,但是我们在开发的时候,不可能每台测试机时刻保持最新的代码,这就出现了一个问题,当测试测出问题的时候,(或者产品突然拿去点点看的时候出了问题)如果不知道当前的版本...需求设计图.png 思路: 由于要全局显示,所以必须加在最上层(window层) 由于需求图中有文字和背景图片,优先考虑UIButton(当然,如果有勇士非要用UIView,里面放imageView 和...label也o98k) 由于此图片不是半透明,会挡住后面的内容,所以这个标签必须可以拖动 - 考虑添加拖拽手势 本质上可以理解为,创建一个UIButton,为其添加拖拽手势,然后将其添加到UIWindow...显示 ---- 知识1:按钮显示2行文字 //UIbutton的换行显示 button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping; //...然后如同title的内容用包含“\n”就会换行 title = @“123\n666” 知识2:Version 与 Build号的获取 NSString *versionStr = [[[NSBundle
也没有效果 四、iOS设置圆角触发离屏渲染原因 我们以UIButton和 UIImageView为例: //1.按钮存在背景图片 UIButton *btn1 = [UIButton buttonWithType...imageNamed:@"btn.png"] forState:UIControlStateNormal]; btn1.clipsToBounds = YES; //2.按钮不存在背景图片...UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeCustom]; btn2.frame = CGRectMake(100,...而 bt1 设置了一个背景图片,会有一个背景图层和内容图层,所以需要离屏渲染(如果去掉图片,设置title,则title长度超出时,会离屏渲染,title未超出则不会触发)。...3、离屏渲染会有一定的性能问题,但是我们依然会有使用到的地方; 4、离屏渲染的空间只有屏幕像素的2.5倍; 5、设置圆角不一定会触发离屏渲染,但是如果有多个图层,则会触发离屏渲染。
]; 5.设置背景图片 : ① 添加图片资源 : 选中 Assets.xcassets , 从 Finder 中拖动图片资源 到 其中 ; ② 设置背景图片 : 调用 setBackgroundImage...方法 , 设置背景图片 ; //5....获取所有的子组件数组 , 直接遍历删除每个子组件即可 , 注意不删除 UIButton 类型的组件 for(UIView * view in self.Container.subviews){...获取所有的子组件数组 , 直接遍历删除每个子组件即可 , 注意不删除 UIButton 类型的组件 for(UIView * view in self.Container.subviews){...) UIButton 启用 禁用 ( ① enabled 属性 YES NO ) UIButton 的启用 禁用 : 1.enabled 属性 ( 可视化修改 ) : 在 UIButton 的 属性查看器中
作为iOS开发的入门总结的第一篇,这里以最常见的注册或登陆页面设计作为开篇,这里主要会用到UILabel,UIButton,UITextField这三个控件。...,此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉 text.backgroundColor = [UIColor whiteColor]; //设置背景图片 text.background...UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; // 能够定义的button类型有以下6种...这里是将method的方法指定给新建的这个confirmButton [self.view addSubview:confirmButton]; 若要设置UIButton的背景图片时:...UIButton *confirmButton = [UIButton buttonWithType:UIButtonTypeCustom]; confirmButton.frame = CGRectMake