zoukankan      html  css  js  c++  java
  • UISegmentedControl

    前言

    • UISegmentedControl 的 Items 有两种样式,一种是字符串设置的标题样式,一种是图片设置的样式。
    • 图片设置的样式需要处理图片的渲染模式,以原图显示。处理阴影,如果直接设置 image 出现阴影,这时候需要设置图片的渲染模式以原样显示。
    UIImage *image = [UIImage imageNamed:@"hehe.png”];
    image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];  
    

    1、UISegmentedControl 的创建

    // 不设置 frame 时为系统默认大小
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems: @[@"大娃", @"二娃", @"三娃", @"四娃"]];
    
    // 将 segmentedControl 添加到 view
    [self.view addSubview:segmentedControl];
    

    2、UISegmentedControl 的设置

    
    // 设置 frame
    segmentedControl.frame = CGRectMake(10, 30, 300, 50);
    
    // 设置位置
    segmentedControl.center = self.view.center;
    
    // 设置背景颜色
    segmentedControl.backgroundColor = [UIColor lightGrayColor];
    
    // 设置 标题文字、边框、选中项 的颜色
    segmentedControl.tintColor = [UIColor redColor];
    
    // 设置标题文字的 颜色、字体 等属性
    [segmentedControl setTitleTextAttributes:@{
    											NSForegroundColorAttributeName: [UIColor blueColor], 
    											NSFontAttributeName: [UIFont boldSystemFontOfSize:20]
    										  }forState: UIControlStateNormal];
    
    // 设置分段标题
    [segmentedControl setTitle:@"123" forSegmentAtIndex:2];
    
    // 设置分段的图片
    [segmentedControl setImage:[[UIImage imageNamed:@"hehe"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forSegmentAtIndex:0];
    
    // 设置分段标题的偏移量
    [segmentedControl setContentOffset:CGSizeMake(10, 7) forSegmentAtIndex:1];
    
    // 设置默认选中值
    segmentedControl.selectedSegmentIndex = 1;
    
    // 获取选中的分段的索引号
    NSInteger selectIndex = [segmentedControl selectedSegmentIndex];
    
    // 获取选中的分段的标题
    NSString *selectTitle = [segmentedControl titleForSegmentAtIndex:[segmentedControl selectedSegmentIndex]];
    
    // 获取分段个数
    NSUInteger numberOfSegments = segmentedControl.numberOfSegments;
    
    // 插入新分段
    
    // 插入标题文字
    [segmentedControl insertSegmentWithTitle:@"蛇精" atIndex:1 animated:YES];
    
    // 插入图片
    [segmentedControl insertSegmentWithImage:[[UIImage imageNamed:@"hihi"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] atIndex:4 animated:YES];
    
    // 删除分段
    // 删除指定分段
    [segmentedControl removeSegmentAtIndex:0 animated:YES];
    
    // 删除全部分段
    [segmentedControl removeAllSegments];
    
    // 添加点击触发事件
    [segmentedControl addTarget:self action:@selector(segmentedControlClick:) forControlEvents:UIControlEventValueChanged];
    
    
  • 相关阅读:
    单元化架构 定义问题
    STGW 下一代互联网标准传输协议QUIC大规模运营之路 wentaomao 腾讯技术工程 2021-02-01
    string
    进程管理工具 源码分析
    etcd 鉴权体系架构由控制面和数据面组成。
    HTTP/2 是基于二进制而不是文本
    分布式 ID 解决方案
    减少重复开发,GraphQL在低代码平台如何落地? 原创 随刻信息流团队 爱奇艺技术产品团队 2021-01-29
    设计模式混编:观察者模式+中介者模式
    mysql 语法总结
  • 原文地址:https://www.cnblogs.com/CH520/p/9413482.html
Copyright © 2011-2022 走看看