iOS - UIButton 开发总结
一 UIButton基础
    iOS中提供了UIButton、UILable、UITextField、UIImageView等基础UI控件,继承于UIView。
    UIbutton继承自UIControl,UIControl派生自UIView类,每个控件都有很多视图的特性,包括附着于其他视图的能力,所有控件都拥有一套共同的属性和方法,包含显示内容,点击事件等等,UIControl的子类都有事件处理能力。

UIButton的定义:
     UIButton可使用 initWithFrame、buttonWithType两种方式创建。

UIButton使用如下方法添加事件。
[btn addTarget:<#(id)#> action:<#(SEL)#> forControlEvents:<#(UIControlEvents)#>]  
这些事件都是基于触摸、基于值、基于编辑。

二 设置UIButton的文字显示位置、字体的大小、字体的颜色
btn.frame = CGRectMake(x, y, width, height);
[btn setTitle: @"search" forState: UIControlStateNormal];
//设置按钮上的自体的大小
//[btn setFont: [UIFont systemFontSize: 14.0]];    //这种可以用来设置字体的大小,但是可能会在将来的SDK版本中去除改方法
//应该使用
btn.titleLabel.font = [UIFont systemFontOfSize: 14.0];
[btn seBackgroundColor: [UIColor blueColor]];
//最后将按钮加入到指定视图superView
[superView addSubview: btn];
==========================================================
tvnamelabel=[[UIButton alloc]initWithFrame:CGRectMake(5,5,200,40)];
这样初始化的button,文字默认颜色是白色的,所有如果背景也是白色的话,是看不到文字的,
btn.contentHorizontalAlignment=UIControlContentHorizontalAlignmentLeft ;//设置文字位置,现设为居左,默认的是居中
[btn setTitle:@“title”forState:UIControlStateNormal];// 添加文字
有些时候我们想让UIButton的title居左对齐,我们设置
btn.textLabel.textAlignment = UITextAlignmentLeft
是没有作用的,我们需要设置
btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;
但是问题又出来,此时文字会紧贴到做边框,我们可以设置
btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);
使文字距离做边框保持10个像素的距离。
=======================================================
设置UIButton上字体的颜色设置UIButton上字体的颜色,不是用:
[btn.titleLabel setTextColor:[UIColorblackColor]];
btn.titleLabel.textColor=[UIColor redColor];
而是用:
[btn setTitleColor:[UIColor blackColor]forState:UIControlStateNormal];

三 uibutton实现左文字右图片
[btnRight setTitleEdgeInsets:UIEdgeInsetsMake(0, -imgArrow.size.width, 0, imgArrow.size.width)];
[btnRight setImageEdgeInsets:UIEdgeInsetsMake(0, btnRight.titleLabel.bounds.size.width, 0, -btnRight.titleLabel.bounds.size.width)];

uibutton默认是左图片,右文字。并且在设置edge insets之前,位置已经有了设定。所以设置title的edge insets,真实的作用是在原来的边距值基础上增加或减少某个间距,负值便是减少。以title为例,设置右边距增加图片宽度,就使得自己的右边界距离按钮的右边界多了图片的宽度,正好放下图片。此时,title lable变小了,而title lable的左边界还在原来的位置上,所以lable的左边界距离按钮的左边界减少图片的宽度,lable就和原来一样大了,而且左侧起始位置和图片的左侧起始位置相同了。

iOS - UIButton 开发总结相关推荐

  1. iOS 11开发教程(十九)iOS11应用视图美化按钮之设置按钮的外观

    iOS 11开发教程(十八)iOS11应用视图美化按钮之设置按钮的外观 美化按钮说白了就是对按钮的属性进行设置,设置按钮的属性有两种方法:一种是使用编辑界面中的属性检查器:另一种是使用代码进行设置.以 ...

  2. iOS 11开发教程(十八)iOS11应用视图之使用代码添加按钮

    iOS 11开发教程(十八)iOS11应用视图之使用代码添加按钮 由于使用编辑界面添加视图的方式比较简单,所以不在介绍.这里,直接讲解代码中如何添加.使用代码为主视图添加一个按钮的方式和在1.3.3节 ...

  3. iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入

    iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入 在iOS中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. ...

  4. IOS开发系列--IOS程序开发概览

    IOS开发系列--IOS程序开发概览 2014-08-04 19:42 by KenshinCui, 9983 阅读, 51 评论, 收藏, 编辑 概览 终于到了真正接触IOS应用程序的时刻了,之前我 ...

  5. IOS UI开发基础之超级猜图完整版本-08

    IOS UI开发基础之超级猜图完整版本-08 // // ViewController.m // 09-超级猜图 // // Created by 鲁军 on 2021/1/31. //#import ...

  6. iOS UI 开发按钮的使用

    IOS UI 开发之按钮的使用 // // ViewController.m // 02按钮的使用介绍 // // Created by 鲁军 on 2021/1/26. //#import &quo ...

  7. iOS软件开发架构理解

    iOS软件开发架构理解 这个东西是硬伤,框架?自带的mvc? 自带的UIViewController UIView UINavigationController 这些算不算?当然算的,cocoa框架嘛 ...

  8. iOS UIButton文字和图片间距随意调整

    代码地址如下: http://www.demodashi.com/demo/11606.html 前记 在开发中,我们经常会遇到这么一种情况,就是一个按钮上面有图片也有文字,但是往往设计并不是我们想要 ...

  9. iOS 实战开发课程笔记

    iOS 实战开发课程笔记 本贴旨在作为对极客班 <iOS 开发实战>第五期期课程视频重新学习的笔记. 目标是建立一个比较完整的 iOS 开发知识点框架以及快速手册. 对各个内容的详细研究会 ...

最新文章

  1. 信息熵和交叉熵的细节理解
  2. java模拟浏览器不关闭会话_JSP实现浏览器关闭cookies情况下的会话管理
  3. arduino 上传项目出错_Arduino多核编程:简单例子
  4. java logger使用_这才是JAVA中打印日志的正确姿势
  5. PocketSphinx语音识别系统的编程
  6. php中获得客户端,服务器ip
  7. 叨叨20220304
  8. 华为云PB级数据库GaussDB(for Redis)揭秘第十期:GaussDB(for Redis)迁移系列(上)
  9. 码匠编程:CSS让元素绝对居中,你知道几种方法?
  10. 数据共享,回调函数,threading模块,守护线程
  11. 微型计算机原理聂伟荣,微型计算机原理与应用 聂伟荣 第十章 串行通信技术 课件.pdf...
  12. 基于互联网的环境影响评价数据服务平台
  13. 主流数据库对比,主流数据库性能、选型对比
  14. 51单片机蜂鸣器演奏《我和我的祖国》
  15. python拨号_Python进行ADSL拨号
  16. java filter 跳过_如何在java中的过滤器链中跳过一个过滤器
  17. 关于添加 HKEY_LOCAL_MACHINE32\Software 注册表问题
  18. 常见互联网34个术语解释
  19. MAE代码阅读(一)
  20. 公安部紧急预警!新型“美团短信”诈骗,目前已多人中招

热门文章

  1. Create a Service Metrics Strategy
  2. 整合mybatis——使用纯注解整合、使用Mapper+Mapper.xml整合、使用mybatis.cfg.xml整合
  3. JavaScript中 var reEmail=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; //邮箱检测
  4. jQuery中wrap、wrapAll和wrapInner用法以及区别
  5. Unity学习笔记5 unity的js转c#
  6. Python 技术篇-百度语音API鉴权认证获取Access Token实例演示
  7. Python 技术篇-用smtplib和email库实现邮件发送并展示本地图片实例演示
  8. CTFshow 文件上传 web167
  9. 单链表的建立,插入和释放
  10. adaptiveThreshold函数