//
// ViewController.m
// UISegmentedControl
//
// Created by HarrySun on 16/7/12.
// Copyright © 2016年 Mobby. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@property (nonatomic,strong) UISegmentedControl *segmentedControl;
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
// 分段控件
NSArray *array =@[@"相怜相念倍相亲",@"骆宾王"];
self.segmentedControl = [[UISegmentedControlalloc] initWithItems:array]; //
self.segmentedControl.center = CGPointMake(140,300);
self.segmentedControl.tintColor = [UIColorredColor]; //边框以及字体颜色
self.segmentedControl.layer.cornerRadius = 5; //切圆角半径
self.segmentedControl.layer.masksToBounds = YES; //切除多余部分
self.segmentedControl.apportionsSegmentWidthsByContent = YES; // 根据内容自动适应大小
[self.segmentedControlsetTitle:@"一生一世一双人"forSegmentAtIndex:1]; // 设置分段标题
// [self.segmentedControl removeSegmentAtIndex:1 animated:YES]; //移除分段标题
// [self.segmentedControl removeAllSegments]; // 移除所有分段标题
self.segmentedControl.selectedSegmentIndex = 0; // 设置默认选中下表
// 设置在点击后是否恢复原样
// self.segmentedControl.momentary = YES;
[self.segmentedControlsetImage:[UIImageimageNamed:@"youshitu"]forSegmentAtIndex:0];// 设置指定索引的图片
[self.segmentedControlinsertSegmentWithImage:[UIImageimageNamed:@"youshitu"]atIndex:2animated:YES];// 在指定索引插入一个选项并设置图片
[self.segmentedControlinsertSegmentWithTitle:@"insert"atIndex:3animated:YES]; // 在指定索引插入一个选项并这只题目
[self.segmentedControlsetWidth:70.0forSegmentAtIndex:3]; // 是设置指定索引选项的宽度
[self.segmentedControlsetContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:2]; // 设置选项中图片等的左上角的位置
UIImageView *imageForSegmentAtIndex = [[UIImageViewalloc] initWithImage:[self.segmentedControlimageForSegmentAtIndex:2]];// 获取指定索引选项的图片
imageForSegmentAtIndex.center =CGPointMake(self.view.bounds.size.width / 2, 100);
[self.viewaddSubview:imageForSegmentAtIndex];
NSLog(@"指定索引的标题:%@",[self.segmentedControltitleForSegmentAtIndex:1]);// 获取指定索引选项的标题
NSLog(@"总选项数:%lu",(unsignedlong)self.segmentedControl.numberOfSegments); // 总选项数
NSLog(@"指定索引的宽度:%f",[self.segmentedControlwidthForSegmentAtIndex:3]); // 获取指定索引选项的宽度
[self.segmentedControlsetEnabled:NOforSegmentAtIndex:3];//设置指定索引选项不可选
// 判断指定索引选项是否可选
BOOL enableFlag = [self.segmentedControlisEnabledForSegmentAtIndex:3];
NSLog(@"判断指定索引选项是否可选:%d", enableFlag);
[self.segmentedControladdTarget:selfaction:@selector(changeView:)forControlEvents:(UIControlEventValueChanged)];// 添加事件
[self.viewaddSubview:self.segmentedControl];
}
- (void)changeView:(UISegmentedControl *)sender{
if (sender.selectedSegmentIndex ==0) {
NSLog(@"0000");
}elseif(sender.selectedSegmentIndex ==1){
NSLog(@"1111");
}
}
/*
//获取和设置背景图片,通过UIControlState和barMetrics的进行设置和获取,主要需要先设置
//UIControlStateNormal才会有效果
- (UIImage *)backgroundImageForState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics
- (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics
//设置分割线的图片样式,首先需要设置UIControlStateNormal不管左边还是右边,
//设置完成后再调用设置方法,根据UIControlState显示分割线
- (void)setDividerImage:(UIImage *)dividerImage forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState barMetrics:(UIBarMetrics)barMetrics
- (UIImage *)dividerImageForLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState barMetrics:(UIBarMetrics)barMetric //设置Title的样式,包括 font, text color, shadow。通过NSAttributedString.h里面的键值对
- (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
- (NSDictionary *)titleTextAttributesForState:(UIControlState)state NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
//调整title和image的位置,通过给定的segment
- (void)setContentPositionAdjustment:(UIOffset)adjustment forSegmentType:(UISegmentedControlSegment)leftCenterRightOrAlone barMetrics:(UIBarMetrics)barMetrics NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
- (UIOffset)contentPositionAdjustmentForSegmentType:(UISegmentedControlSegment)leftCenterRightOrAlone barMetrics:(UIBarMetrics)barMetrics NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
*/
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end