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 ...
随机推荐
- “LAMP“或“LNMP”组合
Linux作为操作系统,Apache和 Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器. 由于这四个软件都是免费或开放源码软件(FLOSS ...
- windows地址转发
netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.8.108 connectport=8080 把 ...
- HU 参考错误修正:/SCWM/RCORR_HUREF
HU 参考错误修正:report: /SCWM/RCORR_HUREF HU 参考的ODO/ID的凭证号及行项目号不正确的修正程序.
- 机器学习基石--学习笔记01--linear hard SVM
背景 支持向量机(SVM)背后的数学知识比较复杂,之前尝试过在网上搜索一些资料自学,但是效果不佳.所以,在我的数据挖掘工具箱中,一直不会使用SVM这个利器.最近,台大林轩田老师在Coursera上的机 ...
- AtomicInteger简介
这个类真的非常实用,更重要的是 它确实非常简单: 附上自己的代码,可以自己试试: AtomicInteger,一个提供原子操作的Integer的类.在Java语言中,++i和i++操作并不是线程安全的 ...
- HDU 4762 Cut the Cake(公式)
Cut the Cake Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- ISO/IEC 9899 C语言标准(非官方翻译)
本系列博文将以ISO/IEC 9899最新的官方手册为准,然后再添加GCC以及Clang编译器对标准的扩展. 本系列博文将不仅仅是针对C编程语言(C Programming Language)标准的翻 ...
- Android 5.1 AOSP 源码获取
本文已同步更新至:http://dxjia.cn/2015/08/android-aosp-code-sync/ Android 5.1源码开放有一个多月啦,但由于城墙的关系,每次想着更新最新源码学习 ...
- 修改windows系統下xampp中apache端口被其他程式占用的問題
windows 7安裝後啟動xampp, 提示port 443 被其他程式占用. 網上查找解決方案: http://stackoverflow.com/questions/21182512/how-t ...
- checkbox与说明文字无法对齐的问题
解决方法: vertical-align:middle; 例:<input type=checkbox id="theId" name=checkbox style=&quo ...