UIKit之浅析UIButton
UIButton * button =[[UIButton alloc]init];
button.backgroundColor=[UIColor redColor];
[button setTitle:@"我是button" forState:UIControlStateNormal];
button.frame = CGRectMake(, , , ) ;
[self.view addSubview:button];

可能有时候,想让title不在中间或者靠某一边,现在就举个例子怎么把文字在button的底部。
代码:
button.contentEdgeInsets = UIEdgeInsetsMake(, , , );
然后看一下 视图是这个样子:

这里边用到
button.contentEdgeInsets = UIEdgeInsetsMake(100, 0, 0, 0); //UIEdgeInsetsMake(距离top的距离, 距离left的距离, 距离botton的距离, 距离right的距离)
//设置 button的内容的便宜量
@property(nonatomic) UIEdgeInsets contentEdgeInsets UI_APPEARANCE_SELECTOR; // 这是内容的偏移量
@property(nonatomic) UIEdgeInsets titleEdgeInsets; // title的偏移量
@property(nonatomic) BOOL reversesTitleShadowWhenHighlighted; // default is NO. if YES, shadow reverses to shift between engrave and emboss appearance
@property(nonatomic) UIEdgeInsets imageEdgeInsets; // image的偏移量
@property(nonatomic) BOOL adjustsImageWhenHighlighted; // default is YES. if YES, image is drawn darker when highlighted(pressed)当高亮的时候if yes 图片自适应
@property(nonatomic) BOOL adjustsImageWhenDisabled; // default is YES. if YES, image is drawn lighter when disabled
@property(nonatomic) BOOL showsTouchWhenHighlighted; // 当高亮的时候if yes 图片自适应
@property(nonatomic,retain) UIColor *tintColor NS_AVAILABLE_IOS(5_0); //高亮颜色 @property(nonatomic,readonly) UIButtonType buttonType; //button的类型
[button setTitleShadowColor:[UIColor redColor] forState:UIControlStateNormal];
//设置文字的边框颜色

不太明显,效果还是有的。
typedef NS_ENUM(NSInteger, UIButtonType) {
UIButtonTypeCustom = , // no button type
UIButtonTypeSystem NS_ENUM_AVAILABLE_IOS(7_0), // standard system button
UIButtonTypeDetailDisclosure,
UIButtonTypeInfoLight,
UIButtonTypeInfoDark, //
UIButtonTypeContactAdd, //按钮上面是哥加号
UIButtonTypeRoundedRect = UIButtonTypeSystem, //系统默认的
};
创建button的另一中写法:
button =[UIButton buttonWithType:UIButtonTypeInfoDark];
- (void)setTitle:(NSString *)title forState:(UIControlState)state; // 设置button的title
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state UI_APPEARANCE_SELECTOR; // 设置buttontitle的颜色
- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state UI_APPEARANCE_SELECTOR; // default is nil. use 50% black设置title的字体的阴影颜色
- (void)setImage:(UIImage *)image forState:(UIControlState)state; // default is nil. should be same size if different for different states 设置button的image 图片 大小是图片的真实大小
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state UI_APPEARANCE_SELECTOR; // default is nil 设置图片的背景 image会铺满button
- (void)setAttributedTitle:(NSAttributedString *)title forState:(UIControlState)state NS_AVAILABLE_IOS(6_0); // default is nil. title is assumed to be single line 设置 自定义的字符串为button的title
- (NSString *)titleForState:(UIControlState)state; // 获取某个状态的title
- (UIColor *)titleColorForState:(UIControlState)state; //获取某个状态的title的字体颜色
- (UIColor *)titleShadowColorForState:(UIControlState)state; //获得某个状态的阴影颜色
- (UIImage *)imageForState:(UIControlState)state; //获得某个状态的image
- (UIImage *)backgroundImageForState:(UIControlState)state; //获得背景图片
- (NSAttributedString *)attributedTitleForState:(UIControlState)state NS_AVAILABLE_IOS(6_0); //获得自定义字符串
@property(nonatomic,readonly,retain) NSString *currentTitle; // normal/highlighted/selected/disabled. can return nil 正常获取当前的title
@property(nonatomic,readonly,retain) UIColor *currentTitleColor; // normal/highlighted/selected/disabled. always returns non-nil. default is white(1,1) 获取当前title的颜色
@property(nonatomic,readonly,retain) UIColor *currentTitleShadowColor; // normal/highlighted/selected/disabled. default is white(0,0.5).获取当前的阴影颜色
@property(nonatomic,readonly,retain) UIImage *currentImage; // normal/highlighted/selected/disabled. can return nil 获取当前的imager
@property(nonatomic,readonly,retain) UIImage *currentBackgroundImage; // normal/highlighted/selected/disabled. can return nil 获取当前的背景image
@property(nonatomic,readonly,retain) NSAttributedString *currentAttributedTitle NS_AVAILABLE_IOS(6_0); // normal/highlighted/selected/disabled. can return nil // return title and image views. will always create them if necessary. always returns nil for system buttons
@property(nonatomic,readonly,retain) UILabel *titleLabel NS_AVAILABLE_IOS(3_0); 获取content的view 就是一个lable
@property(nonatomic,readonly,retain) UIImageView *imageView NS_AVAILABLE_IOS(3_0); imageView 就是button的image的试图
(CGRect)backgroundRectForBounds:(CGRect)bounds;
- (CGRect)contentRectForBounds:(CGRect)bounds;
- (CGRect)titleRectForContentRect:(CGRect)contentRect;
- (CGRect)imageRectForContentRect:(CGRect)contentRect;
@end @interface UIButton(UIButtonDeprecated) @property(nonatomic,retain) UIFont *font NS_DEPRECATED_IOS(2_0, 3_0);//通过这个可以给title设置字体
@property(nonatomic) NSLineBreakMode lineBreakMode NS_DEPRECATED_IOS(2_0, 3_0);// 换行模式
@property(nonatomic) CGSize titleShadowOffset NS_DEPRECATED_IOS(2_0, 3_0); // title的偏移量 @end
UIKit之浅析UIButton的更多相关文章
- UIkit框架之UIbutton的使用
1.UIbutton的继承关系:UIcontroller:UIview:UIresponder:NSObject: 2.添加按钮的步骤: (1)创建按钮的时候首先设置类型 (2)添加标题或者图片,设置 ...
- UIButton利用分类扩展方法(封装)
UIButton+BackgroundColor.h #import <UIKit/UIKit.h> @interface UIButton (BackgroundColor) - (vo ...
- iOS学习——UI基础UIButton(七)
前面写了UIWindow.UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实现是使用系统提供的各种控件 ...
- UI基础UIButton
UI基础UIButton 前面写了UIWindow.UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实 ...
- iOS:UIButton扩大按钮的响应区域
一.介绍 在开发中有时会遇见设计图里按钮设计的特别小,这时会用到手动扩大UIButton的响应范围 二.方式 下面有两个解决办法: 第一种方法:创建一个类目:UIButton+EnlargeTouch ...
- Swift重写UIButton的图片和标题的位置
import UIKit class ResetBtn: UIButton { let IMAGE_RATIO :CGFloat = 0.7 // 图片占整个按钮高度的比例 let TITLE_FON ...
- iOS之UIButton扩大按钮的响应区域
在开发中有时会遇见设计图里按钮设计的特别小,这时会用到手动扩大UIButton的响应范围,下面有两个解决办法: 第一种方法:创建一个类目:UIButton+EnlargeTouchArea .h文件 ...
- iOS学习笔记(七)——UI基础UIButton
前面写了UIWindow.UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实现是使用系统提供的各种控件 ...
- UIButton 加载网络图片
以后就可以 用这个分类 UIButton轻松加载网络图片了, UIButton+WebCache.h #import <UIKit/UIKit.h> @interface UIButt ...
随机推荐
- c# 集合的交集、并集、差集
, , , , }; , , , , , }; var jiaoJi = oldArray.Intersect(newArray).ToList();//2,4,5 var oldChaJi = ol ...
- Redis系列整理
0.Redis系列-安装部署维护篇 1.Redis系列-远程连接redis并给redis加锁 2.Redis系列-存储篇string主要操作函数小结 3.Redis系列-存储篇list主要操作函数小结 ...
- Win手机安卓程序初体验
老大说快看博客园,Windows手机可以装安卓程序了. 啊,真的么?可以在我的撸妹1520上愉快的玩COC了么?我还可以愉快的看小说,不对,是听小说,哈哈,安卓君的三千万程序兵,等着老夫来一一临幸你们 ...
- hdu 1908
题意:一个人有一个代号K和一个优先等级P,一共有4种操作,0:结束,1:新建一个人,代号为K,优先等级为P,2:输出优先等级最大的人的代码,并删除该人,3:输出优先等级最小的人的代码,并删除该人. 用 ...
- MySql 优化 网上资料
1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...
- COMET技术具体实现 结合PHP和JQUERY
具体看代码,费话不说 PHP服务端 $mem = new RTMEM(); if(!$mem->conn()) exit('no mem server'); if(!$mem->getst ...
- Python学习笔记(一)基础
学习资料 跟着廖雪峰的Python教程学习Python,大家可以去官方网站查看学习教程.使用的Python版本为3.0.x,解释器为CPython.本系列博客为学习笔记,记录跟随廖老师所学知识,同时会 ...
- Linux 下搭建ftp服务器 指定用户指定目录及其他操作
搭建 Linux下 rpm -qa |grep vsftpd查看是否安装 没安装yum安装 /etc/vsftpd/目录下有vsftpd.conf配置文件 根据需求 进行配置 是否使用匿名用户以及文 ...
- 一些常用的JS函数
//获取元素属性 function getStyle(obj, attr) { return obj.currentStyle ? obj.currentStyle[attr] : getComput ...
- Spring注释(转)
转自:http://www.ibm.com/developerworks/cn/java/j-lo-spring25-ioc/#ibm-pcon 概述 注释配置相对于 XML 配置具有很多的优势: 它 ...