基本的交互处理
一. MVC
1. MVC用于拆分GUI应用程序代码的逻辑方法;
2. 目标是实现数据、视图和控制三类代码尽可能的分析,增强代码的可重用性;
二. 实例:
(一)。
本例创建一个简单的响应界面,点击button改变label的文本;
1. 输出:控制器类通过一种特殊的属性来引用xib中的对象,这种属性成为输出口Outlet。
2. 操作:设置xib界面对象来触发控制器类中的特殊方法。成为操作方法:action;
3. outlet
1) 最先的声明方式,在实例变量前添加IBOutlet声明:IBOutlet UIButton *button;
2) 推荐:属性声明中添加,如:@property(nonatomic,retain) UIButton * button;
最后在.m文件中@@synthesize button;
4. IBAction
1) – (IBAction)dosomething:(id)sender;
2) – (IBAction)dosomething;
3) – (IBAction)dosomething:(id)sender forEvent: (UIEvent*)event;
5. IBAction 和IBOutlet的声明作用只有一个:告诉InterfaceBuilder属性和方法的存在;
6. 2
(二). 界面设计,
1. 在xib视图中添加两个按钮一个标签,如图:
3. 添加IBAction方法(在button按住ctrl建然后直接拉到自己的viewController)
在方法中添加:
- (IBAction)buttonPressed:(UIButton*)sender {
NSString*title = [sender titleForState:UIControlStateNormal];
[statusText setText:title];
// statusText.text = title;
}
①. 控件文本的获得;
②.label本文设置的两种方式;
4. 添加标签的IBOutlet声明;
在实现文件中添加:
@synthesize text;
三. 应用程序委托
1. AppDelegate.h 和AppDelegate.m这两个文件实现了应用程序委托;
2. CocoaTouch中广泛使用委托,负责为其他对象处理特定任务的类;
3. 每个应用程序有且只有一个UIApplication实例,它负责应用程序的运行循环,以及处理应用级的功能。在执行的特定时间内,UIApplication将会调用特定的委托方法,这种委托方式可以让开发者实现通用的应用级行为,而不需要继承UIApplication类;
如:application:didfinishLaunchingWithOptions应用程序完成所有的初始化工作后,触发该方法;
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
//创建一个窗口
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
//通过加载xib文件来创建一个控制器实例;
self.viewController = [[BIDViewController alloc] initWithNibName:@"BIDViewController" bundle:nil];
self.window.rootViewController = self.viewController;
//控制器作为子视图添加到窗口中
[self.window makeKeyAndVisible];
return YES;
}