07-UI常见控件之 UISegmentedControl分栏

    NSArray *arr = @[ @" 常用 ", @" 主页 ", @" 返回 " ];
   
    UISegmentedControl *seg = [[ UISegmentedControl alloc] initWithItems:arr];
    seg. frame = CGRectMake( 100, 200, 200, 50);
    [ self. view addSubview:seg];
   
    seg. selectedSegmentIndex; // 通过这个属性获得当前下标 0 1 2
   
    [seg addTarget: self action: @selector(action:) forControlEvents: UIControlEventValueChanged];
   
}

- ( void)action :( UISegmentedControl *)seg
{
    NSLog( @"%ld",
          seg. selectedSegmentIndex); // 通过这个属性获得当前下标 0 1 2
}




UISegment属性

1.segmentedControlStyle

设置segment的显示样式。
typedef  NS_ENUM(NSInteger, UISegmentedControlStyle) {
UISegmentedControlStylePlain,     // large plain 系统默认平板样式
segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;

UISegmentedControlStyleBordered,  // large bordered 黑边样式
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBordered;

UISegmentedControlStyleBar,       // small button/nav bar style. Tintable 条状样式
segmentedControl. segmentedControlStyle = UISegmentedControlStyleBar;

    UISegmentedControlStyleBezeled,   // DEPRECATED. Do not use this style. 这个类型不要使用 , 用了会报错喔。
};
 

2.tintColor 渐变颜色

Default tintColor is nil. Only used if style is UISegmentedControlStyleBar
默认空,只有使用 UISegmentedControlStyleBar ,才能设置渐变颜色。
segmentedControl. segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl. tintColor = [ UIColor  redColor];
效果:

 

3.momentary 设置在点击后是否恢复原样

默认为NO
segmentedControl. momentary = No;
 
点击之后效果:

segmentedControl. momentary = YES;
点击之后效果:

 
 

4. numberOfSegments(只读)

获取总选项数 segmentedControl.numberOfSegments
 

5. selectedSegmentIndex

用来设置选中项或者返回选中项。
segmentedControl.selectedSegmentIndex = 2;// 设置默认选择项索引
segmentedControl.selectedSegmentIndex // 获取选中项

6.- (void)setTitle:(NSString *)title forSegmentAtIndex:(NSUInteger)segment;

[segmentedControl setTitle:@"two" forSegmentAtIndex:1];// 设置指定索引的题目
效果:

7. - (void)setImage:(UIImage *)image forSegmentAtIndex:(NSUInteger)segment;      

[segmentedControl setImage:[UIImage imageNamed:@"lan.png"] forSegmentAtIndex:3];// 设置指定索引的图片

8.-(void)insertSegmentWithTitle:(NSString*)title atIndex:(NSUInteger)segment animated:(BOOL)animated;

[ segmentedControl  insertSegmentWithTitle: @"add"  atIndex: 3  animated: NO]; // 在指定索引插入一个选项并设置题目
效果:

9.-(void)insertSegmentWithImage:(UIImage *)image  atIndex:(NSUInteger)segment animated:(BOOL)animated;

[ segmentedControl  insertSegmentWithImage:[ UIImage  imageNamed: @"mei.png"] atIndex: 2  animated: NO]; // 在指定索引插入一个选项并设置图片
 

10.- (void)removeSegmentAtIndex:(NSUInteger)segment animated:(BOOL)animated;

[ segmentedControl  removeSegmentAtIndex: 0  animated: NO]; // 移除指定索引的选项
效果:

11. - (void)removeAllSegments;

    // 移除所有选项
//[segmentedControl removeAllSegments];
 

12. - (void)setWidth:(CGFloat)width forSegmentAtIndex:(NSUInteger)segment;        // set to 0.0 width to autosize. default is 0.0

选项卡的宽度默认为0,此方法能够设置选项卡宽度。
[ segmentedControl  setWidth: 70.0  forSegmentAtIndex: 2]; // 设置指定索引选项的宽度
 
效果:

13. - (void)setContentOffset:(CGSize)offset forSegmentAtIndex:(NSUInteger)segment;// adjust offset of image or text inside the segment. default is (0,0)

[ segmentedControl  setContentOffset: CGSizeMake( 10, 0) forSegmentAtIndex: 1];
设置选项卡内部文字或者图片与默认位置的偏移量,默认位置在选项卡的中心。
效果:

14. - (void)setEnabled:(BOOL)enabled forSegmentAtIndex:(NSUInteger)segment;       

 
[segmentedControl setEnabled:NO forSegmentAtIndex:4];// 设置指定索引选项不可选
 

15.增加事件响应机制

监听的是这个事件:UIControlEventValueChanged,值改变事件
 
[ segmentedControl  addTarget: self  action: @selector(itemClick)   forControlEvents: UIControlEventValueChanged];
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值