关于UIButton的一些常用资料:
//创建按钮 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; /* UIButtonType 按钮类型:(前两种是常用类型) UIButtonTypeCustom = 0, // no button type//自定义类型 UIButtonTypeSystem NS_ENUM_AVAILABLE_IOS(7_0), // standard system button//系统类型, 标准类型 UIButtonTypeDetailDisclosure, UIButtonTypeInfoLight, UIButtonTypeInfoDark, UIButtonTypeContactAdd, UIButtonTypeRoundedRect = UIButtonTypeSystem, // Deprecated, use UIButtonTypeSystem instead */ //设置按钮属性 button.frame = CGRectMake(50, 100, 200, 50);//设置位置和大小 (必须的一步) button.backgroundColor = [UIColor yellowColor];//背景颜色 [button setTitle:@"登录" forState:UIControlStateNormal];//按钮文字, 正常状态 [button setTitle:@"按下" forState:UIControlStateHighlighted];//按钮文字, 高亮状态 /* UIControlState 按钮控制器状态: UIControlStateNormal = 0, // 正常状态 UIControlStateHighlighted = 1 << 0, // used when UIControl isHighlighted is set 高亮状态, (按钮被按下) UIControlStateDisabled = 1 << 1, // 不可用状态 UIControlStateSelected = 1 << 2, // flag usable by app (see below) 选中状态 UIControlStateApplication = 0x00FF0000, // additional flags available for application use UIControlStateReserved = 0xFF000000 // flags reserved for internal framework use */ //button.enabled = NO;//设置为不可用状态(默认为YES, 可用) //button.selected = YES;//设置为选中状态(默认为NO, 非选中状态) // 其他根据状态设置的按钮属性 //最上层(和文字一层)的图片 和 背景图片: 设置了正常状态下的,高亮状态下也显示, 设置了高亮状态下的,正常状态下不显示 [button setImage:[UIImage imageNamed:@"001.png"] forState:UIControlStateNormal];//正常状态下的图片(和文字一层) //图片默认添加在文字前面, 和文字一层, 会把文字挤到后面. 注意按钮的大小, 防止文本空间不够, 变成"..." [button setImage:[UIImage imageNamed:@"10.png"] forState:UIControlStateHighlighted];//高亮状态下的图片 [button setBackgroundImage:[UIImage imageNamed:@"002.jpg"] forState:UIControlStateNormal];//正常状态下的背景图片 [button setBackgroundImage:[UIImage imageNamed:@"5.png"] forState:UIControlStateHighlighted];//高亮状态下的背景图片 //添加图片: png图片可以省略后缀, 其他图片要加上后缀. [button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];//设置按钮字体颜色, 和图片一样, 设置了正常状态下的, 高亮状态下的也改变. 设置了高亮状态下的, 正常状态下不改变. //如果不设置,system类型的默认是蓝色. custom自定义类型的相当于没有设置, 无色/白色 //关于图片显示: system类型不显示最上层(和文字一层)的图片, 想显示最上层的图片需要改成custom类型 [button setTintColor:[UIColor redColor]];//改变最上层字体颜色 和 图片背景色 //关于字体颜色 和 图片背景色: system类型的可以用setTintColor方法改变最上层字体颜色 和 图片背景颜色(因为显示不了图片就可以看到图片的背景色). 而且, 如果前面或者后面已经单独设置了字体的颜色, setTintColor方法并不改变字体的颜色,只改变图片的背景色. //custom类型的按钮, setTintColor方法是无效的. button.titleLabel.font = [UIFont systemFontOfSize:15.2];//改变字体大小. 字体会变成单独的一层 //其他: button.showsTouchWhenHighlighted = YES;//设置为YES以后,点击按钮, 按钮会发光. 默认为NO //按着CMD键, 鼠标点击进去. 就可以看到相邻的几个其他设置, 比如标题文本的阴影设置等 //把按钮添加到父视图上 [self.view addSubview:button]; //释放空间 //button是通过便利构造器创建的, 没有alloc, 不释放 //总结: 一般, 简单的UIButton对象由两层组成, 下面一层是UIButton, 上面一层是UIButtonLabel(这一层可以加图片UIImageView), 显示按钮文本(按钮名称) //如果添加按钮背景图片, 在UIButton和UIButtonLabel中间会增加一层UIImageView. 如果改变字体大小, 又会增加一层字体层, 在最上面. //运行程序之后可以点击调试窗口上面的Debug View Hierarchy(调试视图层次)来查看 //当然, UIButton作为UIView的一个子类, 上面可以继续添加其他的View子视图
参考文档: http://blog.csdn.net/heng615975867/article/details/38873647
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-10 15:56:20