zoukankan      html  css  js  c++  java
  • segment 转子tx天翔

    添加分段控件   转子tx天翔   原文地址

    控件是一种小型的、自包含的UI组件,可以用在各种UI Kit类中。它们可以被附着在许多不同类型的对象之上,让开发者可以在窗口中添加额外的功能。有一个控件在苹果公司预装的应用程序的导航栏中经常见到,这就是分段控件。

    你会注意到,在许多预置的应用程序中,苹果公司加入一些按钮以便对显示的信息做进一步分类。例如,iTunes WiFi Store应用程序的导航栏上就显示着"最新发行"、"热门金曲"、"风格流派"等按钮。这些按钮进一步划分了用户的乐曲选择方式。分段控件就适用于这种 情况:存在大量相似数据,最好用两到三个按钮对数据进行分类。

    下面的例子配备了一个控件,令其显示"全部"与"未接"电话:

    1. UISegmentedControl *segmentedControl = [ [ UISegmentedControl alloc ]  
    2.         initWithframe:CGRectMake(0,0,100,30)];  
    3.   segmentedControl.segmentedControlStyle =
      UISegmentedControlStyleBar;  //已弃用,可以不用写
    4.    [ segmentedControl insertSegmentWithTitle: 
      @"All" atIndex: 0 animated: NO ];  
    5.    [ segmentedControl insertSegmentWithTitle: 
      @"Missed" atIndex: 1 animated: NO ]; 

    一旦你创建好分段控件之后,就可以将其赋予一个视图控制器的titleView导航属性,从而将其显示出来。这会使得标准的标题文字被替换成你的自定义视图:

    1. self.navigationItem.titleView = segmentedControl; 

    你应该还会希望这个类在用户选择新的分段时能立刻得到通知,以便让它可以随之改变,显示新的信息。要做到这一点,可以用UIControl类的addTarget方法来指定一个方法,在控件的值改变时去调用:

    1. [ segmentedControl addTarget: self  
    2.         action: @selector(controlPressed:)  
    3.         forControlEvents: UIControlEventValueChanged  
    4. ]; 

    在下面的例子中,一个名为controllerPressed的选择子被指定为在目标self中应得到通知的方法。请在你的目标类中编写这个例程,好处理值的变化:

    1. - (void) controllerPressed:(id)sender {  
    2.   UISegmentedControl * sg = (UISegmentedControl *)sender;
    3.         int selectedIndex = [ segmentedControl selectedSegmentIndex ];  
    4.  
    5.         /* 添加代码,处理值的变化 */  

    分段控件中的每个按钮,都被称为一个段。调用控件自身的selectedSegment方法,就可以访问被选中的段:

      1. - (void) controllerPressed:(id)sender {  
      2.         int selectedSegment = segmentedControl.selectedSegmentIndex;  
      3.         NSLog(@"Segment %d selected ", selectedSegment);  
      4. }
     
     
  • 相关阅读:
    JSON总结
    protobuf 编码实现解析(java)
    Java Enum解析【转】
    protobuf 原理
    apache CXF wsdl2java工具的使用
    Web Service中的几个重要术语
    Servlet过滤器
    Java中static关键字的作用和用法详细介绍
    浅析Java中的final关键字
    Java中按值传递与按引用传递的区别
  • 原文地址:https://www.cnblogs.com/huoxingdeguoguo/p/4625063.html
Copyright © 2011-2022 走看看