免费开源的iOS开发学习平台

UIButton:2-按钮的创建

使用代码创建

当使用代码创建UIButton对象时,最重要的是需要针对按钮不同状态设置其外观属性。下方的示例代码创建了一个UIButton类型的对象,并且对正常状态以及点击状态的外观进行了设置,当点击按钮时,会调用myAction:中实现的业务逻辑。

  • 新建一个Single View Application工程,并导入两张图片,分别用于正常状态以及点击状态时按钮的图标。

  • 在ViewController.m中添加如下代码

- (void)viewDidLoad {
    [super viewDidLoad];
    //初始化UIButton对象
    UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
    myButton.frame = CGRectMake(50, 50, 250, 50);
    [myButton setTitle:@"正常状态" forState:UIControlStateNormal];
    [myButton setTitle:@"高亮状态" forState:UIControlStateHighlighted];
    [myButton setImage:[UIImage imageNamed:@"99logo"] forState:UIControlStateNormal];
    [myButton setImage:[UIImage imageNamed:@"highlighted"] forState:UIControlStateHighlighted];
    myButton.backgroundColor = [UIColor redColor];
    [myButton addTarget:self action:@selector(myAction:) forControlEvents:UIControlEventTouchUpInside];
    //添加UIButton到控制器view
    [self.view addSubview:myButton];
}
  • 实现按钮点击时执行的myAction:方法
-(void)myAction:(UIButton *) button {
    NSLog(@"按钮被点击了!");
}

运行结果如下,当程序运行后,我们可以看到一个红色背景的按钮,其中包含一个图标以及文字描述。

当用户点击按钮时,按钮的图标以及文字可以发生改变,并且会调用myAction:方法。

使用Xib创建

当使用Xib或者在Storyboard中创建按钮对象时,同样需要根据按钮的状态设置其外观,只不过此时不再需要编写代码,而是通过界面的配置即可实现。

  • 添加UIButton控件,并设置其属性

  • 通过切换State Config中的选项,可以设置按钮不同状态下的外观属性

  • 对按钮进行连线,实现按钮点击时执行的方法

示例代码

https://github.com/99ios/7.4.2