iOS-分段控制器-基本概念
可以直接复制使用
#import "FirstViewController.h"
#import "Masonry.h" @interface FirstViewController () @property (nonatomic, strong) UISegmentedControl * segmentedControl_one; @end @implementation FirstViewController #pragma mark - 生命周期
#pragma mark viewDidLoad
- (void)viewDidLoad
{
[super viewDidLoad]; [self basicSetting]; [self addSegmentedControl_one]; [self insertOrDeleteInSegmendtedControl]; [self settingSegmentProperty]; [self obtainSectionItem];
} #pragma mark - 系统代理 #pragma mark - 点击事件
- (void)segmentedControl_one:(UISegmentedControl *)sender
{
NSLog(@"index: %ld",(long)sender.selectedSegmentIndex); } #pragma mark - 实现方法
#pragma mark 基本设置
- (void)basicSetting
{
self.title = @"基本概念";
} - (void)addSegmentedControl_one
{
[self.view addSubview:self.segmentedControl_one];
[self.segmentedControl_one mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(self.view).with.offset();
make.right.mas_equalTo(self.view).with.offset(-);
make.top.mas_equalTo(self.view).with.offset();
make.height.mas_equalTo();
}];
} - (void)insertOrDeleteInSegmendtedControl
{
// 插入一段文字
[self.segmentedControl_one insertSegmentWithTitle:@"插入的元素" atIndex: animated:YES]; // 插入图片
[self.segmentedControl_one insertSegmentWithImage:[[UIImage imageNamed:@""] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] atIndex: animated:YES]; // 删除
[self.segmentedControl_one removeSegmentAtIndex: animated:YES]; // 根据下标修改分段标题
[self.segmentedControl_one setTitle:@"修改的分段标题" forSegmentAtIndex:];
} - (void)settingSegmentProperty
{
// 设置段落的宽度
[self.segmentedControl_one setWidth:40.0f forSegmentAtIndex:]; // 设置分段中标题的位置 (0,0)是中心点的位置
[self.segmentedControl_one setContentOffset:CGSizeMake(, ) forSegmentAtIndex:];
} - (void)obtainSectionItem
{
//
//获取指定索引选项的图片 imageForSegmentAtIndex:
UIImageView *imageForSegmentAtIndex = [[UIImageView alloc]initWithImage:[self.segmentedControl_one imageForSegmentAtIndex:]];
imageForSegmentAtIndex.frame =CGRectMake(60.0,100.0,30.0,30.0); //获取指定索引选项的标题 titleForSegmentAtIndex
UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(60.0,200.0,200.0,30.0)];
titleForSegmentAtIndex.text = [self.segmentedControl_one titleForSegmentAtIndex:]; //获取总选项数 segmentedControl.numberOfSegments
UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(60.0,300.0,30.0,200.0)];
numberOfSegments.text = [NSString stringWithFormat:@"%lu",(unsigned long)self.segmentedControl_one.numberOfSegments]; //获取指定索引选项的宽度 widthForSegmentAtIndex:
UILabel *widthForSegmentAtIndex = [[UILabel alloc] initWithFrame:CGRectMake(40.0,400.0,200.0,30.0)];
widthForSegmentAtIndex.text = [NSString stringWithFormat:@"宽度: %f",[self.segmentedControl_one widthForSegmentAtIndex:]]; //设置默认选择项索引
self.segmentedControl_one.selectedSegmentIndex =;
// 设置色彩
self.segmentedControl_one.tintColor = [UIColor redColor]; self.segmentedControl_one.momentary = NO;//设置在点击后是否恢复原样 [self.segmentedControl_one setEnabled:NO forSegmentAtIndex:];//设置指定索引选项不可选
BOOL enableFlag = [self.segmentedControl_one isEnabledForSegmentAtIndex:];//判断指定索引选项是否可选
NSLog(@"enableFlag: %d",enableFlag); [self.view addSubview:widthForSegmentAtIndex];
[self.view addSubview:numberOfSegments];
[self.view addSubview:titleForSegmentAtIndex];
[self.view addSubview:imageForSegmentAtIndex];
[self.view addSubview:self.segmentedControl_one];
} #pragma mark - setter & getter - (UISegmentedControl *)segmentedControl_one
{
if (!_segmentedControl_one)
{
NSArray * array = @[@"第一段",@"第二段",@"第三段",@"第四段"];
self.segmentedControl_one = [[UISegmentedControl alloc] initWithItems:array]; [self.segmentedControl_one addTarget:self action:@selector(segmentedControl_one:) forControlEvents:UIControlEventValueChanged];
}
return _segmentedControl_one;
} @end
iOS-分段控制器-基本概念的更多相关文章
- UISegmentedControl字体大小,颜色,选中颜色,左边椭圆,右边直线的Button 解决之iOS开发之分段控制器UISegmentedControl
NSArray *segmentedArray = [NSArrayarrayWithObjects:STR(@"Mynews"),STR(@"Systemmes ...
- iOS 学习笔记三【segmentedControl分段控制器详细使用方法】
在iOS开发过程中,分段控制器的使用频率还是蛮高的,下面是我写的一个简单的demo,大家可以把代码直接复制过去,就可以使用,ios9最新支持. // // ViewController.m // 03 ...
- iOS开发之分段控制器(UISegmentedControl)
今天我们来说下iOS中的分段选择控制器UISegmentedControl,这一控件有什么作用呢 每个segment都能被点击,相当于集成了多个button 通常我们会点击不同的segment来切换不 ...
- iOS中分段控制器与UIScrollView结合使用
指定根视图: // 设置window的根视图控制器 self.window.rootViewController = [[UINavigationController alloc] initWithR ...
- iOS 视图控制器转场详解
iOS 视图控制器转场详解 前言的前言 唐巧前辈在微信公众号「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各项指标有了大幅度的增长,多谢唐巧前辈的推荐.有些人问我相关的问题 ...
- iOS视图控制器的生命周期
今天面试有一道面试题因为回答不好,因为也不经常涉及所以有点模糊,我选择了最保守的回答,没有展开写出我对这个问题的理解. 问题:IOS 开发 loadView 和 viewDidLoad 的区别? 经过 ...
- 关于ios导航控制器的知识总结
关于ios导航控制器的知识总结 添加了导航控制器后: 1.一个导航控制器会有一个顶部导航栏navigationbar和一个底部工具栏toolbar,它们是导航控制器navC的属性.且导航栏默认是不隐藏 ...
- iOS中控制器的释放问题
iOS中控制器的释放问题 ARC工程是可以重写dealloc方法并被系统调用的,但不需要手动调用父类的dealloc,手写[super dealloc]方法会报错,事实上系统会自动帮你调用父类的dea ...
- iOS 容器控制器 (Container View Controller)
iOS 容器控制器 (Container View Controller) 一个控制器包含其他一个或多个控制器,前者为容器控制器 (Container View Controller),后者为子控制器 ...
- 分段控制器UISegmentedControl的使用、同一个控制器中实现多个View的切换、addChildViewController等方法的使用
本文先讲解简单的分段控制器UISegmentedControl的使用,然后具体讲解它最常使用的场景:同一个控制器中实现多个View的切换. 文章构思: 1.先直接讲解一张UI效果图的四种实现方式. 2 ...
随机推荐
- c#之第三课
学习获取终端输入的参数并且打印,以及使用循环. using System; public class CommandLine { public static void Main(string[] ar ...
- HOWTO: InstallScript MSI工程取Log
InstallShield的各种类型安装包如果遇到安装问题(尤其是在客户安装时遇到问题),获取Log分析是最有效的方法之一. 对于封装一个Setup.exe的InstallScript MSI工程,我 ...
- Parallel的陷阱
,).ToArray(); ; Parallel.For<int>( fromInclusive: , toExclusive: nums.Length, /* 陷阱 */ localIn ...
- android sdk
android sdk 网站 为什么google 的网站都上不去. http://www.androiddevtools.cn/
- GTD时间管理(3)---时间特区图
最近在网上看到一副时间特区图,想象非常深,特点想分享给大家. 从上图可以看出 说明一个人全天的状况 说明: 全天时段 状态 7:30-8:00 是处于起床,穿衣,刷牙,吃早餐 8:00-9:00 是处 ...
- 八卦一下黄晓明和Angelababy的电话号码
最新一期20150605的<奔跑吧兄弟>真是太搞笑了,邓超被大家整的... 但这一期有个细节引起了我的注意,就是Angelababy在现场打电话给黄晓明,而拨键声音十分清晰.一些拥有“绝对 ...
- C# 中 KeyPress 、KeyDown 和KeyPress的详细区别[转]
研究了一下KeyDown,KeyPress 和KeyUp ,发现之间还是有点学问的. 让我们带着如下问题来说明,如果你看到这些问题你都知道,那么这篇文章你就当复习吧:) 1.这三个事件的顺序是怎么样的 ...
- 传统认知PK网络认知 刚子扯谈烤串认知
文/刚子 2013.7.23 提到认知,有太多的介绍,我就不在秀理论文字了,那样等于自我抄袭式的传播给大家,对于大家也没意思,可以推荐大家到百度里面搜索下”认知结构”,介绍的比我详细.同行老陈说的! ...
- SQL语句 - 基本查询
select select_list [ into new_table ] from table_source [ where search_condition ] [ group by broup_ ...
- Linux下MySQL不能远程访问
最近在Linux上装了个MySQL数据库,可是远程连接MySQL时总是报出erro 2003: Can't connect to MySQL server on '211.87.***.***' (1 ...