码迷,mamicode.com
首页 > 其他好文 > 详细

第3课、UIButton的常用属性

时间:2014-07-29 12:30:57      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:style   blog   java   color   使用   os   文件   io   

 

 一、 可以通过代码的方式创建UIButton

 

  1. 通用实例化对象方法:

    UIButton *button = [[UIButton alloc] initWithFrame:rect];

 
  2. 快速实例化对象方法:

    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

 

   提示:

    1) 在OC开发中,实例化任何类型的非自定义对象,都请首先尝试一下是否存在快速定义方法。

      如果存在快速定义方法,就尽量不要使用init之类的方法实例化对象!

 

 

 

二、 按钮类型

  1.  UIButtonTypeCustom        按钮的内容需要自定义

  2.  UIButtonTypeRoundedRect      圆角矩形按钮
  3.  UIButtonTypeDetailDisclosure   显示明细按钮
  4.  UIButtonTypeInfoLight      亮色信息按钮,用于深色背景
  5.  UIButtonTypeInfoDark      深色信息按钮,用户浅色背景
  6.  UIButtonTypeContactAdd     添加按钮
 
  说明:
    1)前两种类型的按钮最常用
    2)后四种类型的按钮设计,是为了保持用户统一的使用习惯
 
 
 
 
三、按钮文字
  正常状态下按钮文字  [button setTitle:@"按钮" forState:UIControlStateNormal];
  长按按钮状态下的按钮文字  [button setTitle:@"有人摸我" forState:UIControlStateHighlighted];
 
  注意
    1)  在设置按钮文字时,需要指定文字对应的按钮状态
 
 
 
 
四、 按钮文字颜色

   [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

     [button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];

 
  注意
    1)在设置按钮文字颜色时,同样需要指定颜色应用的按钮状态
 
 
 
 
五、按钮背景颜色
   [button setBackgroundColor:[UIColor orangeColor]];
 
   注意
     1)在设置背景颜色时,按钮需要是自定义类型
 
 
六、设置图片及背景图像

   加载图像  UIImage *image = [UIImage imageNamed:@"sub_black_add.png"];

  设置按钮图像  [button setImage:image forState:UIControlStateNormal];

  设置按钮背景图像  [button setBackgroundImage:image forState:UIControlStateNormal];

 
  注意
    1)背景图像会根据按钮的尺寸拉伸
    2)按钮图像会居中显示在按钮中央位置
    3)如果同时设置了按钮的图像和文字
      •按钮区域足够大,会并列显示图像和文字
      •如果区域不够大,优先显示图像
 
 
 
//
//  ViewController.m
//  第3课、UIButton的常用属性
//
//  Created by iCodePhone on 14-7-29.
//
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    //定义一个按钮的实例
    UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    
    //位置
    [button setFrame:CGRectMake(50, 50, 200, 40)];
    //文字(正常OR选中)
    [button setTitle:@"点击按钮(正常)" forState:UIControlStateNormal];
    [button setTitle:@"被点击喽(选中)" forState:UIControlStateHighlighted];
    
    
    //设置文字颜色
    [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
    [button setTitleColor:[UIColor greenColor] forState:UIControlStateHighlighted];
    
    
    //背景颜色(如果要设置按钮的背景颜色,需要使用自定义类型的按钮,即:UIButtonTypeCustom)
    //[button setBackgroundColor:[UIColor orangeColor]];
    
    //将按钮的监听(监听方法,只有一个参数。)
    //@selector选择器,告诉系统,来找这个方法,来加载到内存中。---(OC的一大特点!)
    [button addTarget:self action:@selector(onClickBtn:) forControlEvents:UIControlEventTouchUpInside];
    
    //设置按钮的背景图,会根据按钮的尺寸拉伸
    [button setBackgroundImage:[UIImage imageNamed:@"btn001"] forState:UIControlStateNormal];
    
    //添加到视图
    [self.view addSubview:button];
}


/*
    有C#,JAVA基础的,可能会这么写:button.titleLabel.text 
    
    在OC中,中括号,表示消息。
    在OC中,没有函数机制,它是消息机制。
    它会告诉系统,我需要这么一个消息。系统会在内存中找,这个方法有没有被加载在内存里面,
        如果,这个方法不在内存里面,它把这个方法加载到内存里面,来执行。
 */


/*
    1. 在使用连线的时候,这个方法的返回值是IBAction。
        所谓IBAction,就是在头文件,可以连线的void。
 
    2. 在使用连线的时候,方法有一个参数。
        可不写参数
 */
- (void) onClickBtn:(UIButton *)sender
{
    NSLog(@"sender.titleLabel.text==%@", sender.titleLabel.text);
}

@end

 

 
 
 
      
 
                   ---  iCode , 爱生活。 
 
 
 
 
 

第3课、UIButton的常用属性,布布扣,bubuko.com

第3课、UIButton的常用属性

标签:style   blog   java   color   使用   os   文件   io   

原文地址:http://www.cnblogs.com/iCodePhone/p/3874763.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!