• UISegmentedControl的所有操作总结


    #import "SegmentedControlTestViewController.h"  
    @implementation SegmentedControlTestViewController
    @synthesize segmentedControl;

    /****************************************
    Tasks
    Initializing a Segmented Control
    – initWithItems:
    Managing Segment Content
    – setImage:forSegmentAtIndex:
    – imageForSegmentAtIndex:
    – setTitle:forSegmentAtIndex:
    – titleForSegmentAtIndex:
    Managing Segments
    – insertSegmentWithImage:atIndex:animated:
    – insertSegmentWithTitle:atIndex:animated:
    numberOfSegments property
    – removeAllSegments
    – removeSegmentAtIndex:animated:
    selectedSegmentIndex property
    Managing Segment Behavior and Appearance
    momentary property
    segmentedControlStyle property
    tintColor property
    – setEnabled:forSegmentAtIndex:
    – isEnabledForSegmentAtIndex:
    – setContentOffset:forSegmentAtIndex:
    – contentOffsetForSegmentAtIndex:
    – setWidth:forSegmentAtIndex:
    – widthForSegmentAtIndex:
    ********************************************
    */
    // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
    - (void)viewDidLoad {
    NSArray *segmentedArray = [[NSArray alloc]initWithObjects:@"1",@"2",@"3",@"4",nil];
    //初始化UISegmentedControl
    UISegmentedControl *segmentedTemp = [[UISegmentedControl alloc]initWithItems:segmentedArray];
    segmentedControl = segmentedTemp;
    segmentedControl.frame = CGRectMake(60.0, 10.0, 200.0, 50.0);

    [segmentedControl setTitle:@"two" forSegmentAtIndex:1];//设置指定索引的题目
    [segmentedControl setImage:[UIImage imageNamed:@"lan.png"] forSegmentAtIndex:3];//设置指定索引的图片
    [segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"mei.png"] atIndex:2 animated:NO];//在指定索引插入一个选项并设置图片
    [segmentedControl insertSegmentWithTitle:@"insert" atIndex:3 animated:NO];//在指定索引插入一个选项并设置题目
    [segmentedControl removeSegmentAtIndex:0 animated:NO];//移除指定索引的选项
    [segmentedControl setWidth:70.0 forSegmentAtIndex:2];//设置指定索引选项的宽度
    [segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:1];//设置选项中图片等的左上角的位置

    //获取指定索引选项的图片imageForSegmentAtIndex:
    UIImageView *imageForSegmentAtIndex = [[UIImageView alloc]initWithImage:[segmentedControl imageForSegmentAtIndex:1]];
    imageForSegmentAtIndex.frame = CGRectMake(60.0, 100.0, 30.0, 30.0);

    //获取指定索引选项的标题titleForSegmentAtIndex
    UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0, 100.0, 30.0, 30.0)];
    titleForSegmentAtIndex.text = [segmentedControl titleForSegmentAtIndex:0];

    //获取总选项数segmentedControl.numberOfSegments
    UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 100.0, 30.0, 30.0)];
    numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedControl.numberOfSegments];

    //获取指定索引选项的宽度widthForSegmentAtIndex:
    UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 100.0, 70.0, 30.0)];
    widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedControl widthForSegmentAtIndex:2]];

    segmentedControl.selectedSegmentIndex = 2;//设置默认选择项索引
    segmentedControl.tintColor = [UIColor redColor];
    segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;//设置样式
    segmentedControl.momentary = YES;//设置在点击后是否恢复原样

    [segmentedControl setEnabled:NO forSegmentAtIndex:4];//设置指定索引选项不可选
    BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:4];//判断指定索引选项是否可选
    NSLog(@"%d",enableFlag);

    [self.view addSubview:widthForSegmentAtIndex];
    [self.view addSubview:numberOfSegments];
    [self.view addSubview:titleForSegmentAtIndex];
    [self.view addSubview:imageForSegmentAtIndex];
    [self.view addSubview:segmentedControl];

    [widthForSegmentAtIndex release];
    [numberOfSegments release];
    [titleForSegmentAtIndex release];
    [segmentedTemp release];
    [imageForSegmentAtIndex release];

    //移除所有选项
    //[segmentedControl removeAllSegments];
    [super viewDidLoad];
    }

    /*
    // Override to allow orientations other than the default portrait orientation.
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
    }
    */
    - (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
    }
    - (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
    }

    - (void)dealloc {
    [segmentedControl release];
    [super dealloc];
    }
    @end
  • 相关阅读:
    activiti官网实例项目activiti-explorer之获取流程节点
    关于Tomcat启动时,长时间停在Initializing Spring root webApplicationContext处的原因
    activiti官网实例项目activiti-explorer实操详情
    activiti-6.0工作流应用模板
    操作文档页面开发
    'React' must be in scope when using JSX
    'React' must be in scope when using JSX
    React 路由---基本使用
    React 实现数据双向绑定 事件的绑定以及传参 获取表单值的两种方法
    Error: Function components cannot have string refs. We recommend using useRef() instead.
  • 原文地址:https://www.cnblogs.com/linyawen/p/2545675.html
Copyright © 2020-2023  润新知