我的iOS学习历程 - UISegmentedControl

今天学习的是UISegmentedControl,相当于一个切换的分区栏,例如看小说会分最新,最热等,可以用此控件来进行切换

1.初始化(用数组进行初始化)并添加到视图上

//     数组中初始化必须是字符串 或者 图片
//     如果选用图片初始化 必须使用镂空图NSArray *stringArray = @[@"第一段",@"第二段",@"第三段"];//     分段按钮UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:stringArray];segmentedControl.frame = CGRectMake(20, 100, 300, 50);segmentedControl.backgroundColor = [UIColor greenColor];[self.view addSubview:segmentedControl];[segmentedControl release];

2.设置默认选中(从0开始)

segmentedControl.selectedSegmentIndex = 1;

3.修改选中的颜色

segmentedControl.tintColor = [UIColor brownColor];

4.修改中间段的宽度

[segmentedControl setWidth:200 forSegmentAtIndex:1];

下面一个实例来说明怎么用UISegmentedControl切换页面:

UIImage *image1 = [UIImage imageNamed:@"01-refresh"];UIImage *image2 = [UIImage imageNamed:@"02-redo"];UIImage *image3 = [UIImage imageNamed:@"03-loopback"];NSArray *imageArray = @[image1, image2, image3];UISegmentedControl *segmentedControlImage = [[UISegmentedControl alloc] initWithItems:imageArray];segmentedControlImage.backgroundColor = [UIColor orangeColor];segmentedControlImage.frame = CGRectMake(40, 300, 300, 50);segmentedControlImage.tintColor = [UIColor purpleColor];segmentedControlImage.selectedSegmentIndex = 0;[self.view addSubview:segmentedControlImage];[segmentedControlImage release];// 添加一个点击事件// 选取UIControlEventValueChanged 实际上是检测了索引的变化[segmentedControlImage addTarget:self action:@selector(segmentedAction:) forControlEvents:UIControlEventValueChanged];// 将三控制器设置为根视图控制器的子控制器self.grayVC = [[GrayViewController alloc] init];[self addChildViewController:self.grayVC];[self.view addSubview:self.grayVC.view];[_grayVC release];self.blueVC = [[BlueViewController alloc] init];[self addChildViewController:self.blueVC];[self.view addSubview:self.blueVC.view];[_blueVC release];self.greenVC = [[GreenViewController alloc] init];[self addChildViewController:self.greenVC];[self.view addSubview:self.greenVC.view];[_greenVC release];// 最前面的应该是segment// 然后是默认选中按钮对应的视图[self.view bringSubviewToFront:self.grayVC.view];[self.view bringSubviewToFront:segmentedControlImage];}- (void)segmentedAction:(UISegmentedControl *)segmentedControl
{// 需求 判断出 点击了哪个分段按钮// 每个分段按钮 控制一个界面 每个界面是一个控制器来控制 并且可以切换界面NSLog(@"点了第%ld个",segmentedControl.selectedSegmentIndex);// 通过索引切换不同的界面switch (segmentedControl.selectedSegmentIndex) {case 0:[self.view insertSubview:self.grayVC.view belowSubview:segmentedControl];break;case 1:[self.view insertSubview:self.greenVC.view belowSubview:segmentedControl];break;case 2:[self.view insertSubview:self.blueVC.view belowSubview:segmentedControl];break;default:break;}
}

转载于:https://www.cnblogs.com/888yf/p/4992718.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多家巨头实测鸿蒙系统:比安卓快60%

来源:腾讯新闻,数码科技大爆炸众所周知,近期,华为被打压和打击的事件一直没有停止,但华为并没有坐以待毙,很快就启动了“备胎计划”给予积极的回击和反击,像保险柜里的海思“备胎芯片”、华为自…

numpy将bool值转换成数值

用np.array().astype(int) label np.array([0, 1, 0]) predict_label np.array([1, 0, 0]) false_num np.array(label ! predict_label).astype(int) print(false_num) # [1 1 0]

混淆矩阵及分类性能评估方法

混淆矩阵: 公式:其中TPR又叫召回率Recall

《细胞》:打破百年生物学法则,记忆可以遗传给下一代,甚至可能跨越多代...

来源:转载自iNature许多人推测大脑活动可能以某种方式产生可遗传的变化,这将影响下一代的命运。然而,这一想法虽然具有吸引力,却挑战了生物学的基本法则之一,也被称为“生物学的第二定律”, “Weismann障碍…

java对象初始化顺序

java对象初始化顺序

深度学习需要注意的11个方面

转自https://blog.csdn.net/u014365862/article/details/77961624 如果你的神经网络不工作,该怎么办?本文作者列举了搭建神经网络时可能遇到的11个常见问题,包括预处理数据、正则化、学习率、激活函数、网络权重设置等,并提供解决…

欢迎参加城市大脑与智慧城市前沿趋势 主题论坛 |未来科技大讲堂 第12期

近年来,智慧城市建设出现新的动向,包括城市大脑、城市云脑、城市超级大脑、城市超脑、城市神经网络等“泛城市大脑”概念也大量涌现。杭州、上海、北京、广州等城市各自提出和开展了不同城市大脑建设方案,其中上海市开展了以建设城市神经元系…

JavaSE——Java介绍与环境变量简述

第1节 Java介绍 1、Java的起源与演变 略 2、Java体系与特点 Java体系 : Java SE:标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案。 Java EE:企业版,以企业为环境而开发应用程序的解决方案…

python中实现sigmiod功能

两种方法: 第一种:调用库函数 from scipy.special import expita np.array([[2.3, 5],[-0.2, -2]]) b expit(a) 第二种方法:自定义函数 def sigmoid(x):return 1.0 / (1.0 np.exp(-x))a np.array([[2.3, 5],[-0.2, -2]]) c sigmoid(…

深度:中国智能制造分析报告

来源:精智工厂亚洲正受到自动化、智能化大潮冲击。国际劳工组织调研发现,越南、柬埔寨、菲律宾和印度尼西亚的工人的失业风险最高,据估计这几个区域约50%的工人工作可能在未来20年被自动化取代。亚洲尤其是中国作为制造业的重要区域&#xff…

JavaSE——Java基础语法(二进制、变量、方法(函数)、运算符、转义字符)

第2节 基础语法 一、二进制 1.1 二进制介绍 计算机中的数据都以二进制数字保存。 二进制 :逢二进一,即只有0、1两个值。如十进制的10在计算机内保存为二进制的1010。 计算机中信息的存储单位: 位(Bit)&#xff1a…

centOS 搭建pipelineDB docs

#下载docs git clone https://github.com/pipelinedb/docs.git #安装python-sphinx &python-dev yum install install python-sphinx yum install python-devel.x86_64 #python安装sphinx && aws pip install sphinx_rtd_theme sphinx-autobuild awscli ---------…

归一化[0, 1]

第一种方法: x_norm(x-x_min)/(x_max-x_min) x_max,x_min分别代表x中的最大值和最小值 第二种方法: x_normsigmiod(x)

我们离爱因斯坦想了解的“上帝的思想”,还有多远?

来源:原理1925年,爱因斯坦在与一位名为Esther Salaman的年轻学生一同散步的途中,分享了他的一个核心指导思想:“我想知道上帝是如何创造这个世界的。我对这个或那个现象,这个或那个元素的能谱不感兴趣。我要知道的是他…

脚踏实地,才能顶天立地!

周末来得快,去得更快,这一周可以说过得比较低迷吧,不知道该为自己制定怎样的一个目标。随波逐流的度过了一周,回过头来才发现能够残存在脑海中的就只有上课时记下来的那点可怜的笔记的一部分内容。出现这样的状况,自己…

JavaSE——流程控制(接收输入Scanner、分支结构(if与switch)、循环结构(while、do-while与for))

第3节 流程控制 一、接收用户输入 使用Scanner类来接收用户的输入。 新建一个Scanner对象:Scanner input new Scanner(System.in); input可以接收各种数据类型的输入:比如nextInt、nextByte等,但是这样不太安全,因为如果输入…

查看外文期刊的刊名、刊号、刊期

外文期刊刊号即ISSN,由8位数字组成。8位数字分为前后两段各4位,中间用连接符相连,格式如下: ISSN XXXX-XXXX 第一:可以在Web of Science里面查http://www.webofscience.com/ 第二:可以在EI上搜索论文&…

城市大脑与智慧城市前沿趋势 主题论坛 |未来科技大讲堂 第12期

近年来,智慧城市建设出现新的动向,包括城市大脑、城市云脑、城市超级大脑、城市超脑、城市神经网络等“泛城市大脑”概念也大量涌现。杭州、上海、北京、广州等城市各自提出和开展了不同城市大脑建设方案,其中上海市开展了以建设城市神经元系…

问题解决:使用angularjs、ionic框架如何实现返回上一页并刷新

普通的js返回并刷新这里就不多说了,百度就有很多方法。 下面说的是使用了angularjs、ionic开发的一个手机app中使用的一个返回上一页并刷新的方法。 场景:回复的页面是单独的,点击保存回复后会回到上一个页面,此时上一个页面会显示…