MJCSegmentInterface 1.9.6

MJCSegmentInterface 1.9.6

测试已测试
Lang语言 Obj-CObjective C
许可证 Apache-2.0
发布最后发布2018年11月

MJCIOS 维护。



  • 作者
  • MJCIOS

☆☆☆ “MJCSegmentInterface分段控制器” ☆☆☆

☆☆ 示例图展示 ☆☆

image image image

image image

  • 如果大家觉得还可以的话,请帮忙点个赞点个星。谢谢大家,点赞的都是大好人...
  • 这是一个简单的类似百思不得姐主页导航栏下方的那个分段界面的控件,类似王者荣耀助手的聊天模块的导航栏下方的分段界面控件等等,简单来说,这是一款分段界面选择器

☆☆ 如何导入使用框架方法 ☆☆

* 项目支持 CocoaPods

    platform :ios, '8.0'
    target '<Your Target Name>' do
        pod 'MJCSegmentInterface'
    end
  • 1.打开 Podfile 文件,添加 pod 'MJCSegmentInterface'
  • 2.然后执行 pod update 或 pod install(如果导入失败,可以先执行 pod repo update 更新 .cocoapods 下的所有库...)
  • 3.如果没有更新到最新版本,请先执行 pod repo update 更新 .cocoapods 下的所有库...,然后执行 pod update
  • 4.import <MJCSegmentInterface/MJCSegmentInterface.h>

☆☆ 1.9.0版本更新简介 ☆☆

  • 1.首先先和大家说声抱歉,这次代码改的太多了,用法都变了,导致好多人代码报错....

  • 2.全新代码的修改,增添了样式属性类,使用链式属性...让代码更简洁,更方便..

  • 3.如果不想用最新的,限制版本: 'MJCSegmentInterface', '~> 1.8.7'

      platform :ios, '8.0'
      target '<Your Target Name>' do
          pod 'MJCSegmentInterface', '~> 1.8.7'
      end
    

  • 我只是想让框架变得更完美,让大家使用起来更方便。有问题和bug,还有新功能需求,随时告诉我,谢谢。
  • 如果有任何问题,联系我QQ292251588,希望和各位大神多多交流,一起学习.....
  • 技术交流群528049461,希望和大家一起学习,多多交流,互相学习技术.....
  • 希望大家多多支持,如果觉得好用,请帮忙推荐,谢谢大家,谢谢大神,有问题可以告诉我...

☆☆ 使用说明(几行代码设置即可使用,就是那么简单) ☆☆

    //实例化您需要显示的控制器对象
    MJCTestViewController *vc1 = [[MJCTestViewController alloc]init];
    MJCTestTableViewController *vc2 = [[MJCTestTableViewController alloc]init];
    MJCTestViewController1 *vc3 = [[MJCTestViewController1 alloc]init];
    MJCTestCollectVC *vc4 = [[MJCTestCollectVC alloc]init];
    NSArray *vcarrr = @[vc1,vc2,vc3,vc4];// 用数组将控制器装起来
    //实例化一个标题数组对象,相对应的控制器界面,是与控制器数组中的控制器顺序相对应,比如说(荣耀对应着vc1的控制器界面)
    NSArray *titlesArr = @[@"荣耀",@"联盟",@"DNF",@"CF",@"飞车",@"炫舞",@"天涯明月刀"];
    //实例化分段框架界面
    [MJCSegmentInterface jc_initWithFrame:CGRectMake(0,64,self.view.jc_width, self.view.jc_height-64) titlesArray:titlesArr childControllerArray:vcarrr interFaceStyleToolsBlock:^(MJCSegmentStylesTools *jc_tools) {
        jc_tools.jc_titleBarStyles(MJCTitlesScrollStyle).
        jc_titlesViewFrame(CGRectMake(0, 0, self.view.jc_width,50));
    } hostController:self]
    [self.view addSubview:interFace];

☆☆ 使用说明及示例图展示 ☆☆

*初始默认状态:(默认的是MJCTitlesClassicStyle)

    jc_titleBarStyles(MJCTitlesClassicStyle);

image

*滚动模式状态:(MJCTitlesScrollStyle)

    jc_titleBarStyles(MJCTitlesScrollStyle);

image

*默认选中哪一页:(selectedSegmentIndex)(从第0页开始数,第0页,第1页,第2页,第3页)

    segmentsface.selectedSegmentIndex = 3;//默认选中的是第3页(从0开始数,第0页,第1页,第2页,第3页)

image

*颜色渐变,指示器跟随滑动:(jc_itemTextGradientEnabled,jc_indicatorFollowEnabled)

    jc_itemTextGradientEnabled(YES)
    jc_indicatorFollowEnabled(YES)

image

*字体放大:(jc_tabItemTextZoomBigEnabled)

    jc_tabItemTextZoomBigEnabled(YES, 18).

image

*上下滑动的穿透效果:(jc_titlesViewPenetrationEnabled)

  jc_titlesViewPenetrationEnabled(YES)

image

*实时刷新最新数据的做法:(代理方法的使用(MJCSegmentDelegate))

    //每当点击的时候会调用的代理方法
    - (void)mjc_ClickEvent:(UIButton *)tabItem childViewController:(UIViewController *)childViewController segmentInterface:(MJCSegmentInterface *)segmentInterface;
    {
            if ([childViewController isKindOfClass:[MJCTestTableViewController class]]) {
                [_testTableViewVC beginLoadNewData];//控制器提供一个刷新数据的方法,给这里刷新数据使用,
            }else{
                NSLog(@"%@",childViewController);
            }   
    }

image

  • 可用于我仿做的项目中

可自行修改各个属性,具体属性接口可进入项目查看..

    /** (子视图)滚动是否有动画 */
    jc_childScollAnimalEnabled
    /** (子视图)是否开启手拽滑动 */
    jc_childScollEnabled
    /** (子视图)主容器的背景色 */
    jc_childsContainerBackColor
    /** (标题栏)启用穿透效果 */
    jc_titlesViewPenetrationEnabled
    /** 标题栏样式 */
    jc_titleBarStyles
    /** 标题栏frame */
    jc_titlesViewFrame
    /** 标题栏背景图片 */
    jc_titlesViewBackImage
    /** 指示器的颜色是否与文字颜色一样 */
    jc_indicatorColorEqualTextColorEnabled
    /** (指示器)启用动画效果 */
    jc_indicatorsAnimalsEnabled
    /** 底部指示器是否跟随滚动 */
    jc_indicatorFollowEnabled
    /** 底部指示器大小样式 */
    jc_indicatorStyles
    /** 可设置指示器的Y值和高度,其余不允许自己设置 */
    jc_indicatorFrame
    /** 底部指示器背景色 */
    jc_indicatorColor
    /** 底部指示器图片(设置了图片的话,此控件是根据图片本身的大小自适应的) */
    jc_indicatorImage
    /** 底部指示器是否隐藏 */
    jc_indicatorHidden
    /** (item)启用滑动颜色渐变 */
    jc_itemTextGradientEnabled
    /** 是否显示标题文字 */
    jc_itemTextHidden
    /** 默认选中的item */
    jc_itemSelectedSegmentIndex
    /** 默认显示多少个item (初始显示4个) */
    jc_ItemDefaultShowCount
    /** item文字的内边距 */
    jc_itemTextsEdgeInsets
    /** item图片的内边距 */
    jc_itemImagesEdgeInsets
    /** item最大内边距和两个item之间的间距(如果是item高度自适应,设置top和bottom无效) */
    jc_itemEdgeinsets
    /** item图片效果样式 */
    jc_itemImageEffectStyles
    /** item背景颜色 */
    jc_itemBackColor
    /** item普通状态下文字颜色 */
    jc_itemTextNormalColor
    /** item高亮状态下文字颜色 */
    jc_itemTextSelectedColor
    /** item文字大小 */
    jc_itemTextFontSize
    /** item普通状态下的图片 */
    jc_itemImageNormal
    /** item点击状态下的图片 */
    jc_itemImageSelected
    /** item普通状态下图片数组 */
    jc_itemImageArrayNormal
    /** item点击状态下图片数组 */
    jc_itemImageArraySelected
    /** item普通状态下背景图片 */
    jc_itemBackImageNormal
    /** item点击状态下背景图片 */
    jc_itemBackImageSelected
    /** item普通状态下背景图片数组 */
    jc_itemBackImageArrayNormal
    /** item点击状态下背景图片数组 */
    jc_itemBackImageArraySelected
    /** item的图片大小(不能设置背景图片) */
    jc_itemImageSize
    /** item普通状态下文字颜色数组(可以让文字显示不同的颜色)(不支持颜色渐变) */
    jc_itemTextColorArrayNormal
    /** item点击状态下文字颜色数组(可以让文字显示不同的颜色)(不支持颜色渐变) */
    jc_itemTextColorArraySelected
    /** tabitem内容自适应:(高度自适应或宽度自适应)(如果是item高度自适应,设置内边距top和bottom无效)*/
    jc_tabItemSizeToFitIsEnabled
    /** 用于缩放功能的修改字体的属性 */
    jc_tabItemTextZoomBigEnabled