IOS开发基础—利用代码添加按钮和文本框

作者声明

因个人能力问题,文中不免会有错误之处,欢迎各位读者交流,批评,指正!

摘要

本文通过一个实例来学习利用代码添加按钮和文本框的方法。

基本思路

  1. 重写viewController的对象方法- (void)viewDidLoad。
  2. 在该方法里面创建按钮或者文本框。
  3. 设置按钮和文本框的属性(normal和highlight)。
  4. 为控件添加监听事件(其中可以调用其他方法)
  5. 将控件放置在父view中。

实例

代码如下:

//
//  ViewController.m
//  按钮操作—利用代码添加按钮
//
//  Created by dqw on 15/5/6.
//  Copyright (c) 2015年 itcast. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

//控制器的view加载完毕后会调用该方法。
- (void)viewDidLoad {

    // 要首先调用父类的该方法 。
    [super viewDidLoad];

#pragma 创建按钮。

    UIButton *but = [[UIButton alloc]init];

    // 设置按钮的位置和长宽。
    CGRect frame = CGRectMake(0, 0, 100, 100);
    but.frame = frame;

    // 为按钮设置背景图片。

    // 该方法默认从main bundle里面加载图片,因为图片已经加载在suppos里面,所以可以不用写绝对路径。
    UIImage *imageforNormal = [UIImage imageNamed:@"btn_01.png"];

    [but setBackgroundImage:imageforNormal forState:UIControlStateNormal];

    UIImage *imageforHigtlight = [UIImage imageNamed:@"btn_02.png"];

    [but setBackgroundImage:imageforHigtlight forState:UIControlStateHighlighted];

    // 为按钮设置标题。
    [but setTitle:@"点我啊" forState:UIControlStateNormal];
    [but setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];

    [but setTitle:@"找死啊" forState:UIControlStateHighlighted];
    [but setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];

    // 为按钮设置监听事件。其中的envents如果被触发,则self(当前控制器)就会调用butClick方法。
    // 其实不添加该代码的话,也可以对按钮进行监听。
    [but addTarget:self action:@selector(butClick) forControlEvents:UIControlEventTouchUpInside];

    // 将按钮放在符view中。
    [self.view addSubview:but];

#pragma 代码创建文本框。

    UITextField *text = [[UITextField alloc]init];

    // 设置文本框位置和大小。
    CGFloat X = self.view.center.x ;
    CGFloat Y = self.view.center.y ;

    text.center = CGPointMake(X, Y);
    text.bounds = CGRectMake(0, 0, 100, 30);

    // 设置其背景色。
    [text setBackgroundColor:[UIColor greenColor]];

    // 放置文本框。
    [self.view addSubview:text];

    }

// 定义一个方法。
- (void)butClick
{
    NSLog(@"单击了but");
}

@end

重点 难点 注意点

  1. 在重写- (void)viewDidLoad方法时不要忘了调用[super viewDidLoad]。
  2. 加载图片的时候注意路径(本例中简单)。
  3. 控件的bounds属性是CGRect类型。
  4. 深刻体会并理解下面的方法各参数。
    // 为按钮设置监听事件。其中的envents如果被触发,则self(当前控制器)就会调用butClick方法。
    // 其实不添加该代码的话,也可以对按钮进行监听。
    [but addTarget:self action:@selector(butClick) forControlEvents:UIControlEventTouchUpInside];

待完善内容

  1. 加载图片的方法。
  2. 各触发事件。
  3. add相关的其它方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值