首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Cocoa编程中视图控制器与视图种详解

2012-07-23 
Cocoa编程中视图控制器与视图类详解iPhone编程规则是:一个窗口,多个视图。UIView是iPhone屏幕上很多控件的

Cocoa编程中视图控制器与视图类详解

iPhone编程规则是:一个窗口,多个视图。UIView是iPhone屏幕上很多控件的基础类。每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊的UIView)内的众多UIView及其专门化子类构建的。

显示数据的视图:

  • UITextView
  • UILabel
  • UIImageView
  • UIWebView
  • MKMapViews
  • UIScrollView

    可选择的视图(以下两个视图类实例都是模态显示的)

    • UIAlertView
    • UIActionSheet?

      所有控件(控件是将用户触摸转换为回调触发器的屏幕对象。)

      • UIButton
      • UISegmentedControl
      • UISwitch
      • UISlider
      • UIPageControl
      • UITextField

        表格和拾取器:

        • UITableView (对于表格的行有一个UITableViewCell类的表格单元项)
        • UIPickerView

          各种栏样式:

          • UINavigationBar (对于导航栏有一个UINavigationItem类的导航项)
          • UITabBar
          • UISearchBar
          • UIToolBar

            在所有iPhone栏样式视图中,只有UIToolBar类可以直接使用。其它三个都是通过对应的控制器类来完成工作,而不是直接构建和管理视图。?

            进度与活动:

            • UIActivityIndicatorView
            • UIProgressView?

              ?

              ?

              控制器类

              ?

              UIViewController类

              ? ? ? UIViewController负责创建其管理的视图及在低内存的时候将它们从内存中移除。还为标准的系统行为进行响应。从语法上说,UIViewController是视图控制器的父类。视图控制器类是没有可视化表示的抽象类,只有它管理的视图才提供可视画布。记住:1. 视窗UIWindow虽然也是UIView,但不能用处理普通UIView的方式来设置; 2. UIView视图使用initWithFrame:初始化,而其UIViewController则使用init类方法直接初始化。3. UIViewController实例负责设置视图的外观和它显示的子视图。

              ?

              UINavigationController类

              1. 导航控制器使用内置动画在视图之间切换; 2. 导航控制器自动构建并处理Back按钮; 3. 导航控制器提供简单的菜单栏可帮助用户进行自定义控件。4. 每一个导航控制器都拥有一个根视图控制器RootViewController,它是“导航弹出栈”的基础,是根。5. 通过调用initWithRootViewController:方法可以将特定控制器设置为根。如常见的:

              ?

              UINavigationController如何推入和弹出视图控制器?

              ?

              1. 使用pushViewController: animated:可推入一个新的控制器,从而增加新的项到导航栈。(记住:导航栏控制器不添加一个视图进去,这个导航栏是没有意义的!)

              ?代码二我们也可以直接在具体的视图控制器内部重写init方法。
            • 实现所需的委托方法,以让UITabBarController能够正常触发这些回调方法。
              tabBarController:didSelectViewController: 是当用户选择一个新的选项卡时,控制器会发送这个消息。
              - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{    // 捕捉selectedIndex,可确定当前所选选项卡    NSNumber *tabNumber = [NSNumber numberWithInt:[tabBarController selectedIndex]];   // 使用iPhone内置用户默认系统NSUserDefaults,利用setObject:forKey:为关键字设定值   [[NSUserDefaults standardUserDefaults] setObject:tabNumber forKey:@"selectedTab"];   [[NSUserDefaults standardUserDefaults] synchronize];    // 选项卡图标项右上角红色小红圈数字提示   viewController.tabBarItem.badgeValue = [NSString stringWithFormat:@"%d",80];}
              ?

              来源:http://www.cnblogs.com/lovecode/archive/2012/01/03/2310866.html

              ?

              ?

              ?

              ?

热点排行