iphone 开发几个概念
2012-08-21 22:48
330 查看
简介
MVC分为以下类别:视图。视图组件由UIView类的子类以及与其相关的UIViewController提供;控制器,控制器行为通过3种关键技术实现:委托,目标操作和通知;模型,模型方法通过数据源和数据含义等协议提供数据。严格地说,UIViewController类并不是MVC概念中的控制器,这与它的名称不符。它们负责对屏幕中各项进行布局,以及使较复杂的布局细节变得模糊。
每个UIViewController子类都实现了自己的loadView方法。该方法对控制器的子视图进行布局,并建立所有的触发,回调和委托。
委托:许多UIKit类都使用委托移交响应用户交互的责任。在设置某个对象的委托时,让对象传递交互消息,而让该委托负责处理这些事务。UITableView就是一个很好的例子。当用户触击某个表行时,UITableView没有响应该触及操作的内置方式,而是会请示委托。
数据源指任何向另一个对象提供所需数据的对象。
每个程序都刚好包含一个UIApplication实例,可以使用[UIApplication sharedInstance]来引用它。使用[[UIApplication sharedInstance] keyWindow] 查找应用程序的主窗口对象。
视图
一个窗口,多个视图,iPhone的运行规则大体如此。查询某视图的全部子视图的方法是调用其[parentView subviews]。这将返回一组视图,由后向前排序。
要查询状态栏边框,可以调用[[UIApplication sharedApplication] statusBarFrame]。如果更愿意释放这20像素的屏幕空间,则可以完全隐藏状态栏,使用调用:[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]。或者,在应用程序的Info.plist文件中讲UIStatusBarHidden设置为<true/>
Defaults存储在应用程序沙盒内部的Library/Preferences中。调用synchronize函数讲立即更新这些默认值,而不是等待程序终止。
截取当前屏幕的图像。[[UIApplication sharedApplication] _writeApplicationSnapshot];
使用CATransition做动画。CA作用于Layer,UIView的animation是作用于view。使用mapcurl动画。
#if defined(TARGET_IPHONE_SIMULATOR)判断是否是模拟器。
当touchMoved事件时计算水平方向和垂直方向的位移,touchEnd时commit动画。
视图控制器
viewDidAppear和viewDidDisappear:每次UIViewController视图进入屏幕或离开屏幕时都会调用这两个方法,通常因为视图之间的导航。使用这些方法刷新视图,以反映数据状态并更新存储的数据。发送presentModalViewController:animated:消息之后,一个新的视图控制器将滑入屏幕并结果控制权,直到被dismissModalViewController:animated:取消。
self.navigationItem.rightBarButtonItem = xxButton; self.navigationItem.titleView = xxView;
添加分段控件:1,Create UISegmentController 2,self.navigationItem.titleView = xxxSegmentView;
在navigationItem.titleView中设置toolbar view
对于NavigationController,顶部的ViewController将占用该数组的最后一个位置(n-1),而根对象的下标仍然为0
UITabBarController,将allowCustomizing设置为YES,以支持用户对栏的重新排序。还可以制定用户在以交互式的方式定制底部选项卡栏时,可以从整个列表中进行选择:tabBarController.customizeableViewControllers = controllers;
警告用户
创建多行按钮显示:1,设置多个otherButtonTitles 2,setNumberOfRows自动计时的无按钮警告:NSTimer,dismissWithClickedButton
alert框中添加文本输入:(添加)addTextFieldWithValue;获取[[ alertView textFieldAtIndex:0] text]
显示ActionSheet。显示时可以调用showInViw或者showFromToolBar:和showFromTabBar
使用UIProgressHUD显示loading view提示
添加状态栏图像:addStatusBarImageNamed;removeStatusBarImageNamed:
添加应用程序标记:Application setApplicationBadge
简单的音频警告:Create SystemSound ID; PlaySystemSound;使用kSystemSoundID_Vibrate产生震动
无论何时何任务占用大量时间时,一定要对用户有礼貌并且显示一种进度反馈。
相关文章推荐
- iphone开发中,委托、代理、协议、数据源等几个重要概念
- iphone开发中,委托、代理、协议、数据源等几个重要概念
- iphone开发中,委托、代理、协议、数据源等几个重要概念
- iphone开发几个基本概念
- (原)iphone开发必须知道的几个概念
- iphone绘图的几个基本概念CGPoint、CGSize、CGRect、CGRectMake、window(窗口)、视图(view)
- Objective-C ,ios,iphone开发基础:几个常用类-NSNumber
- 对敏捷开发中常用的几个"敏捷概念"的理解
- andriod开发中的几个基本概念及关系SDK ADT Platform API
- iphone绘图的几个基本概念CGPoint、CGSize、CGRect、CGRectMake、window(窗口)、视图(view)
- Objective-C ,ios,iphone开发基础:几个常用类-NSNumber
- 面向对象开发中的几个核心的思想和概念 .
- iphone 开发中使用zbar时遇到的几个典型问题解决方法。
- 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证--2.1使用Azure AD需要了解几个概念]
- 通信系统软件开发-1、几个概念的区别
- iphone绘图的几个基本概念CGPoint、CGSize、CGRect、CGRectMake、window(窗口)、视图(view)
- Android NDK开发下使用C/C++的几个概念
- IOCP开发的几个概念
- JAVA6开发WebService (三)——几个概念
- 面向对象开发中的几个核心的思想和概念