iOS Segment带滑动条切换效果

 更新时间:2022年03月21日 11:06:09   作者:长沙火山  
这篇文章主要为大家详细介绍了iOS Segment带滑动条切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了iOS Segment带滑动条切换效果的具体代码,供大家参考,具体内容如下

#import "ViewController.h"
 
@interface ViewController ()
 
@property (nonatomic,strong) NSArray *arrTitle;
 
@property (nonatomic,strong) UIView *flyBar;
 
@end
 
@implementation ViewController
 
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    _arrTitle = [[NSArray alloc] initWithObjects:@"标题1",@"标题2",@"标题3",@"标题4", nil];
    
    UIView *baseView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 64)];
    baseView.backgroundColor = [UIColor orangeColor];
    [self.view addSubview:baseView];
    
    for (int i=0; i<_arrTitle.count; i++) {
        UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width/_arrTitle.count*i, 20,self.view.frame.size.width/_arrTitle.count, 40)];
        [btn setTitle:[_arrTitle objectAtIndex:i] forState:UIControlStateNormal];
        [btn setTag:100+i];
        [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
        [baseView addSubview:btn];
    }
    
    _flyBar = [[UIView alloc] initWithFrame:CGRectMake(0, baseView.frame.size.height-2, self.view.frame.size.width/_arrTitle.count, 2)];
    _flyBar.backgroundColor = [UIColor redColor];
    [baseView addSubview:_flyBar];
}
 
- (void)btnClick:(id)sender
{
    NSInteger tagNum = [sender tag];
    [self updateButtonClickState:tagNum];
}
 
//更新按钮点击效果
- (void)updateButtonClickState:(NSInteger)tagNum
{
    UIButton *currentBtn = (UIButton *)[self.view viewWithTag:tagNum];
    
    for (int i=100; i<_arrTitle.count+100; i++) {
        if (i != tagNum) {
            UIButton *btn = (UIButton *)[self.view viewWithTag:i];
            [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        }
    }
    
    [UIView animateKeyframesWithDuration:0.1
                                   delay:0.0
                                 options:UIViewKeyframeAnimationOptionLayoutSubviews
                              animations:^{
                                  _flyBar.center = CGPointMake(currentBtn.center.x, _flyBar.center.y);
                              }
                              completion:^(BOOL finished) {
                                  [currentBtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
                              }];
}
 
 
@end

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • IOS实现选择城市后跳转Tabbar效果

    IOS实现选择城市后跳转Tabbar效果

    这篇文章主要为大家详细介绍了IOS实现选择城市后跳转Tabbar效果的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • 实例讲解iOS音乐播放器DOUAudioStreamer用法

    实例讲解iOS音乐播放器DOUAudioStreamer用法

    本篇文章给大家通过实例讲解了iOS音乐播放器DOUAudioStreamer用法以及分享了实例代码,一起学习参考下吧。
    2017-12-12
  • 使用UItableview在iOS应用开发中实现好友列表功能

    使用UItableview在iOS应用开发中实现好友列表功能

    这篇文章主要介绍了使用UItableview在iOS应用开发中实现一个好友列表功能的方法,代码基于传统的Objective-C,需要的朋友可以参考下
    2015-12-12
  • iOS应用中UITableView左滑自定义选项及批量删除的实现

    iOS应用中UITableView左滑自定义选项及批量删除的实现

    这篇文章主要介绍了iOS应用中UITableView左滑自定义选项及批量删除的实现,UITableView列表中即通讯录左滑呼出选项的那种效果在删除时能够实现多行删除将更加方便,需要的朋友可以参考下
    2016-03-03
  • iOS中让多个cell上都出现倒计时的分析与实现

    iOS中让多个cell上都出现倒计时的分析与实现

    这篇文章主要给大家介绍了在iOS中每个cell上都出现倒计时的分析与实现,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-07-07
  • iOS 水波纹动画的实现效果

    iOS 水波纹动画的实现效果

    本篇文章主要介绍了iOS 水波纹的实现的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • iOS开发实现抽屉效果

    iOS开发实现抽屉效果

    这篇文章主要为大家详细介绍了iOS开发实现抽屉效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • iOS应用开发中对UIImage进行截取和缩放的方法详解

    iOS应用开发中对UIImage进行截取和缩放的方法详解

    这篇文章主要介绍了iOS应用开发中对UIImage进行截取和缩放的方法,分别讲解了如何截取指定区域大小的UIImage以及缩放到指定大小和等比缩放的具体操作过程,需要的朋友可以参考下
    2016-04-04
  • iOS开发教程之扇形动画的实现

    iOS开发教程之扇形动画的实现

    实现扇形图大家应该都会的,但是扇形动画大家都会实现吗?下面这篇文章主要给大家介绍了关于iOS开发教程之扇形动画实现的相关资料,文中介绍的非常详细,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • 最新ios面试试题以及解决思路分析

    最新ios面试试题以及解决思路分析

    本篇内容给大家整理了关于IOS程序员面试的试题以及相关解决方法,需要的朋友们参考一下吧。
    2017-12-12

最新评论