程序功能:点击Button实现按钮的文本变换
一,打开Xcode,新建single view based application,拖动一个Button控件到屏幕中间
项目目录树下包含AppDelegate.h AppDelegate.m MainStoryboard.storyboard ViewController.h ViewController.h等文件
其中MainStoryboard.storyboard用来设计UI界面,ViewController.*文件用来编码
ViewController.m代码如下
#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } - (void)dealloc { [super dealloc]; } @end
ViewController.h代码如下
#import <UIKit/UIKit.h> @interface ViewController : UIViewController @end
二,通过图形界面实现Button控件的属性(ID)及动作(Action)的配置
1,鼠标拖动Touch Down事件到ViewController.h文件,xcode会自动提示插入Action
2,设置Action名称为(OnBtnTouch)
3,同理,配置按钮的名称(ID),可以在程序中通过这个ID号控制控件
三,打开ViewController.m文件实现OnBtnTouch的具体逻辑,代码如下:
ViewController.m代码如下
#import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize ibtn; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)viewDidUnload { [self setIbtn:nil]; [super viewDidUnload]; // Release any retained subviews of the main view. } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } - (void)dealloc { [ibtn release]; [super dealloc]; } - (IBAction)OnBtnTouch:(id)sender { [ibtn setTitle:@"Go to Work!" forState:UIControlStateNormal]; } @end
ViewController.h代码如下
#import <UIKit/UIKit.h> @interface ViewController : UIViewController - (IBAction)OnBtnTouch:(id)sender; @property (retain, nonatomic) IBOutlet UIButton *ibtn; @end
我们只手动添加了下面这行代码,其他都是xcode帮我们自动生成的
[ibtnsetTitle:@"Go to Work!"forState:UIControlStateNormal];