UI<10> - UISegmentControl<10>

//声明对象

@property (nonatomic,strong) UISegmentedControl *segmentedcontrol;

//标题
    NSArray *segmentArry = [NSArray arrayWithObjects:@"中国",@"美国",@"大不列颠英国",@"俄罗斯", nil];
    //初始化
    self.segmentedcontrol = [[UISegmentedControl alloc] initWithItems:segmentArry];
    //iOS 7.0后被弃用
    //self.segmentedcontrol.segmentedControlStyle = UISegmentedControlStylePlain;
    self.segmentedcontrol.frame = CGRectMake(20, 40, self.view.frame.size.width-40, 30);
    //默认值为NO,即点击后保持选中状态,如果设置为YES则,只是短暂的显示选中状态
    self.segmentedcontrol.momentary = YES;
    //指示控件是否根据其内容宽度来调整片段宽度
    self.segmentedcontrol.apportionsSegmentWidthsByContent = YES;
    //设置UISegmentedControl的边框、分割线、文字、点击后的颜色
    self.segmentedcontrol.tintColor = [UIColor blueColor];
   
   
    //通过Attribute字符串属性字典设置Segment标签属性(正常状态下)
    [self.segmentedcontrol setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:15.0],NSForegroundColorAttributeName:[UIColor purpleColor]} forState:UIControlStateNormal];
    //通过Attribute字符串属性字典设置Segment标签属性(选中状态下)
     [self.segmentedcontrol setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:15.0],NSForegroundColorAttributeName:[UIColor redColor]} forState:UIControlStateSelected];
   
   
    //添加事件
    [self.segmentedcontrol addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
   
    [self.view addSubview:self.segmentedcontrol];

//事件点击方法

- (void)segmentAction:(UISegmentedControl *)click{
   
    //UISegmentedControl的段数
    NSInteger totelindext = self.segmentedcontrol.numberOfSegments;
    //当前选中Segment
    NSInteger selectindext = self.segmentedcontrol.selectedSegmentIndex;
    NSLog(@"共分:%ld段,当前选中:%ld段",totelindext,selectindext);
    //指定索引点插入新标题
    [self.segmentedcontrol insertSegmentWithTitle:@"德国" atIndex:selectindext animated:YES];
    //指定索引点插入新图片
    [self.segmentedcontrol insertSegmentWithImage:[UIImage imageNamed:@"flag"] atIndex:selectindext animated:YES];
    //移除指定Segment
    [self.segmentedcontrol removeSegmentAtIndex:selectindext+1 animated:YES];
    //移除全部Segment
    [self.segmentedcontrol removeAllSegments];
    //设置指定Segment的标题
    [self.segmentedcontrol setTitle:@"日本" forSegmentAtIndex:0];
    //返回指定Segment的标题
    NSString *segmentTitle = [self.segmentedcontrol titleForSegmentAtIndex:0];
    NSLog(@"索引为:0的标题设置为:%@",segmentTitle);
    //设置指定Segment的image
    [self.segmentedcontrol setImage:[UIImage imageNamed:@"flag"] forSegmentAtIndex:0];
    //返回指定Segment的image
    UIImage *segmentImage = [self.segmentedcontrol imageForSegmentAtIndex:0];
     NSLog(@"索引为:0的图片设置为:%@",segmentImage);
    //设置指定Segment的宽度 默认(0,0)自适应
    [self.segmentedcontrol setWidth:100 forSegmentAtIndex:0];
    //返回指定Segment的宽度
    CGFloat segmentW = [self.segmentedcontrol widthForSegmentAtIndex:0];
    NSLog(@"索引为:0的Segment宽度设置为:%.2f",segmentW);
    //设置指定Segment的偏移量
    [self.segmentedcontrol setContentOffset:CGSizeMake(5.0, 2.0) forSegmentAtIndex:0];
    //获取指定Segment的偏移量
    CGSize segmentSize = [self.segmentedcontrol contentOffsetForSegmentAtIndex:0];
     NSLog(@"索引为:0的Segment偏移量设置为:%@", NSStringFromCGSize(segmentSize));
    //设置指定Segment是否有效
    [self.segmentedcontrol setEnabled:YES forSegmentAtIndex:0];
    //返回指定Segment是否有效
    BOOL segmentBool = [self.segmentedcontrol isEnabledForSegmentAtIndex:0];
    NSLog(@"索引为:0的Segment当前是否可以点击:%@",segmentBool ? @"可以":@"不可以");

}

时间: 2024-08-31 18:04:30

UI<10> - UISegmentControl<10>的相关文章

[UI] 精美UI界面欣赏[10]

精美UI界面欣赏[10]

Build better apps: Windows 10 by 10 development series

http://blogs.windows.com/buildingapps/2015/08/05/build-better-apps-windows-10-by-10-development-series/ We’ve been talking about the new capabilities that come with Windows 10 for some time, but an area that we haven’t really dug into yet is how they

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 扩展 iptables应用在一个网段 http://www.aminglinux.com/bbs/thread-177-1-1.html sant,dnat,masquerade http://www.aminglinux.com/bbs/thread-7255-1-1.html iptables限制syn速率 http://www.aminglinux.com/bbs/thre

while循环输出如下语句: 2*5=10 4*10=40 6*15=90 …… ?*100=?

import java.util.Scanner; /** * @author 蓝色以太 while循环输出如下语句: 2*5=10 4*10=40 6*15=90 -- ?*100=? */ public class While { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入层高:"); int num = sc.nextIn

编程题:已知一个一维数组a[10]中有10个数,求出第m个数到第n个数的和。其中m、n由键盘输入。

#include<stdio.h> int sum(int *q,int n) { int i,s=0; for(i=0;i<n;i++,q++) s+=*q; return s; } void main() { int n,m,a[10]={1,2,3,4,5,6,7,8,9,10}; int *p; printf("Please input m and n(m<n<10):\n"); scanf("%d,%d",&m,&am

高项学员:2015年10月10日作业

高项学员:2015年10月10日作业1.下载<政府采购法实施例例>2015年新发布的,并看一下(这个不用写,下面的是写的)2.沟通管理计划包括哪些内容?3.风险管理中,负面风险. 正向风险的应对策略?4.采购管理中,包括哪些内容?最晚提交时间:2015年10月12日(下次上课前).提交方法:同学们按照要求完成作业,并发布在自己的51CTO博客,并将博文地址以评论的形式发布在老师布置作业的评论区

10月10号就准备进公司

10月10号 进入公司. 月薪是8K 技术水平:初级程序员. 技术目前为止:JAVASE. JAVAEE.SSH.SSM.AJAX.JQUERY.JS.MYSQL.ORACLE.LUCENE.pdsgell各种插件 都在入门级别. 一般功能可以做出来.. 现在又回到了JAVASE.准备研究开始研究底层原理. 一切从最基础开始研究. 研究源码. 现在是第二遍研究底层.. 10号开始..我会将每一天的成长进到微博.连续记载999天. 希望在我成长的999天里. 回过头来看今天日记.. 希望成长的99

【每日圣经日历】2014年10月10日

Vendredi le 10 Octobre 2014 礼拜五 2014年10月10日 Heureux ceux dont les iniquités sont pardonnées, Et dont les péchés sont couverts!                                                                  Romains 4. 7 得赦免其过,遮盖其罪的,这人是有福的.                          

10.32/10.33 rsync通过服务同步10.34 linux系统日志10.35 screen工具

- 10.32/10.33 rsync通过服务同步 - 10.34 linux系统日志 - 10.35 screen工具 - 扩展 1. Linux日志文件总管logrotate http://linux.cn/article-4126-1.html 2. xargs用法详解 http://blog.csdn.net/zhangfn2011/article/details/6776925 # 10.32 rsync通过服务来同步 上 - rsync通过服务的方式同步 - 要编辑配置文件/etc/