在UITableView顶部制作简单的UISegmentControl实例方法
// http://www.tuicool.com/articles/yUfURj 使用方法
如上图: 分两步:
一、创建320长度背景,高不超过40最好
- //segment背景图
- UIImageView *segBgImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"segmented_bg.png"]];
- [segBgImg setUserInteractionEnabled:YES];
- [segBgImg setFrame:CGRectMake(0, 44, 320, 38)];
- //segment实例对象及初始化
- UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:nil];
- segment.selectedSegmentIndex = 0;
- [segment insertSegmentWithImage:[UIImage imageNamed:@"segmented_price_all_selected.png"] atIndex:0 animated:NO];
- [segment insertSegmentWithImage:[UIImage imageNamed:@"segmented_price_free.png"] atIndex:1 animated:NO];
- segment.frame = CGRectMake(10, 5, 184, 28);
- [segment setMomentary:YES];
- [segment addTarget:self action:@selector(segmentClick:) forControlEvents:UIControlEventValueChanged];
- [segBgImg addSubview:segment];
- [segment release];
- [self.view addSubview:segBgImg];
- [segBgImg release];
二、segmentClick相应事件中选中当前焦点
- //选择时触发
- - (void)segmentClick:(UISegmentedControl *)segment
- {
- NSInteger index = segment.selectedSegmentIndex;
- switch (index) {
- case 0: //全部
- [segment setImage:[UIImage imageNamed:@"segmented_price_all_selected.png"] forSegmentAtIndex:0];
- [segment setImage:[UIImage imageNamed:@"segmented_price_free.png"] forSegmentAtIndex:1];
- break;
- case 1: //免费
- [segment setImage:[UIImage imageNamed:@"segmented_price_all.png"] forSegmentAtIndex:0];
- [segment setImage:[UIImage imageNamed:@"segmented_price_free_selected.png"] forSegmentAtIndex:1];
- break;
- }
- }
- - (void)viewDidLoad {
- NSArray *segmentedArray = [[NSArray alloc]initWithObjects:@"1",@"2",@"3",@"4",nil];
- //初始化UISegmentedControl
- UISegmentedControl * segmentedControl = [[UISegmentedControl alloc]initWithItems:segmentedArray];
- segmentedControl.frame = CGRectMake(60.0, 10.0, 200.0, 50.0);
- segmentedControl.segmentedControlStyle = 2;
- [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);
- }
注: 多个segment切换时用for循环处理一下即可
在UITableView顶部制作简单的UISegmentControl实例方法的更多相关文章
- Highcharts使用教程(1):制作简单图表
今天我们要使用JavaScript图表Highcharts制作简单的柱形图,我们已经安装好Highcharts,让我们开始制作图表吧. 步骤一 在网页中添加一个div.设置id,设置图表长.高.代码如 ...
- ZAM 3D 制作简单的3D字幕 流程(二)
原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...
- iOS开发UI篇—UITableview控件简单介绍
iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)
iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一) 一.项目结构和plist文件 二.实现代码 1.说明: 主控制器直接继承UITableViewController // ...
- phalcon: eventManager事件管理(结合dispatcher调度控制器)制作简单的acl
制作简单的acl, dispatcher(专门用来加载或调度或跳转到相应的url地址即XXXcontroller的调度器或控制器,能够在controller执行前对controller进行停止跳转等) ...
- canvas制作简单动画
在画布元素<canvas>中,除了绘制图形.图像.文字外,还可以制作一些简单的动画,制作过程十分简单,主要分为两步操作: 1.自定义一个函数,用于图形的移动或其他动作. 2.使用setIn ...
- JSP制作简单登陆
JSP制作简单登陆界面 运行环境 eclipse+tomcat+MySQL 不知道的可以参考Jsp运行环境--Tomcat 项目列表 这里我先把jsp文件先放在Web-INF外面访问 需要建立的几个文 ...
- iOS开发基础-UITableView控件简单介绍
UITableView 继承自 UIScrollView ,用于实现表格数据展示,支持垂直滚动. UITableView 需要一个数据源来显示数据,并向数据源查询一共有多少行数据以及每一行显示什么 ...
- Photoshop 基础三 制作简单按钮
要求知识点:移动工具.选择工具.套索工具.多边行工具.文本工具.路径选择工具.裁剪.填充 一.制作简单按钮 1)新建画布,大小随便 2)画圆角矩形工具(同时定义背景色.边框是否需求.边框颜色) 3)打 ...
随机推荐
- 使用 requirejs 打包 jQuery 插件 datetimepicker 的问题记录
网站之前用的时间选择 UI 实在太丑,而且功能单一,决定全站改用 https://github.com/xdan/datetimepicker/ 里面有好几个 js,奇怪的是,只有 /build 目录 ...
- IdentityServer(15)- 第三方快速入门和示例
这些示例不由IdentityServer团队维护. IdentityServer团队提供链接到了社区示例,但不能对示例做任何保证. 如有问题,请直接与作者联系. 各种ASP.NET Core安全示例 ...
- Zabbix实战-简易教程(8)--添加item
一.术语 1.1 Item概念 Item是从主机里面获取的所有数据.通常情况下 item称为监控项,例如我们host加入了 zabbix 监控,我们需要监控它的内存.CPU信息,那么获取的CPU或内存 ...
- 用户空间网络提升 NFV 的性能
本文是一篇翻译,翻译自https://software.intel.com/en-us/blogs/2015/06/12/user-space-networking-fuels-nfv-perform ...
- metasploit联动beef启动
(温馨提示:请按照步骤来,否则beef到后面会启动不了) 我们首先进入vim /usr/share/beef-xss/config.yaml 找到metasploit把它改为启动 把false改为tr ...
- [国嵌攻略][097][U-Boot新手入门]
嵌入式软件层次 1.Bootloader 2.Linux内核 3.文件系统 编译U-Boot 1.解压uboot tar zxvf uboot.tar.gz 2.清除uboot make distcl ...
- python来写打飞机
准备用python写一个打飞机的游戏,相信能够写完这个项目,我对python的学习应该也算可以了. 首先,我们要使用python的一个pygame的库来写,这个库的安装比较简单就是普通的pip安装就可 ...
- mysql数据库备份及还原
数据库备份代码: package com.gd.test; import java.io.BufferedReader; import java.io.FileOutputStream; import ...
- 从零开始学习前端开发 — 16、CSS3圆角与阴影
一.css3圆角: border-radius:数值+单位; 1.设置一个值:border-radius:20px; 四个方向圆角都为20px(水平半径和垂直半径相等) 2.设置两个值 border- ...
- es6语法部分浏览器支持引发的坑
es2015部分浏览器支持踩的坑 自从es2015出现以来,以其更丰富的api和简介的语法,使得js功能越来越丰富写起来也更便捷.比较早先的时候,浏览器是完全不支持的,我们使用的时候,必须要使用bab ...