Latest 0.1.20
Homepage https://github.com/lanhaiyang/HPSlideSegmentView
License MIT
Platforms ios 7.0, requires ARC
Authors

CocoaPods Compatible Platform
platform

Pods

#在podfile 中添加

# iOS 版本要7.0 :platform :ios, ‘7.0’

尽量使用最新版本

pod 'HPSlideSegmentView', '~> 0.1.20'

如果pod search HPSlideSegmentView 没有搜索到 和 没有找到最新的版本

打开终端输入

1.pod repo update   //等待更新完成在输入下一句

2.rm ~/Library/Caches/CocoaPods/search_index.json //等待更新

3.pod search HPSlideSegmentView     //在搜索

创建悬浮效果

在下面的可以看到HPSlideSegmentControllerView对应的属性的用途:

HPSlideSegmentView

类结构介绍

HPSlideSegmentControllerView (悬浮置顶)
    |
    |__ HPSlideSegmentBackgroundView (左右侧滑)
            |
            |_ HPSlideModuleView  (左右侧滑 管理上面模块)
            |_ HPSlideSegmentView (左右侧滑 管理下面模块)

HPSlideSegmentManage (管理两个scrollview滑动)
    |
    |__ HPSlideSegmentControllerView

HPSlideSegmentLogic (管理整体逻辑)
    |
    |__ HPSlideSegmentBackgroundView
    |
    |__ HPSlideModuleView
    |
    |__ HPSlideSegmentView

HPCacheListManage (管理下面模块 view的缓存问题)
    |
    |__ HPSlideSegmentView

HPKVOMange  (管理KVO 的创建和删除)
    |
    |__ HPSlideSegmentView

属性slideBackgroungView

这个属性主要用于管理左右滑动模块
  • slideModuleView 文字滑动模块
  • slideSegmenView 视图滑动模块

slideSegmenView 里面的 cacheMaxCount 属性

缓存个数
小于3默认为3

@property(nonatomic,assign) NSUInteger cacheMaxCount;

第一种样式: 初始化HPSlideSegmentControllerView

image

在 ViewController.h


# import "HPSlideSegmentControllerView.h"

@interface DemoViewController : HPSlideSegmentControllerView

@end

在 ViewController.m

  • 创建headeView

UIView *headerView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 200)];
headerView.backgroundColor=[UIColor blueColor];

self.headeView=headerView;

//...
//属性设置
//...

[self.slideBackgroungView updateLayout];

第二种样式: 初始化HPSlideSegmentBackgroundView

image

创建


HPSlideSegmentBackgroundView *slideSegmentBackgroundView=[[HPSlideSegmentBackgroundView alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH, SCREEN_HEIGHT-64)];

[self.view addSubview:slideSegmentBackgroundView];  

实现

数据设置

  • 告诉我滑模块的内容 告诉父类的contents对象
//NSString 数据源
self.slideBackgroungView.contents=self.dataSouce;

实现对应的代理

  • 现在你需要显示多少数据 告诉<HPSlideSegmentBackgroundDataSource>代理
self.slideBackgroungView.dataSource=self;

//代理
-(NSUInteger)hp_slideListWithCount
{
    return self.dataSouce.count;//个数
}
  • 在来需要你要在对应模块中显示什么 告诉<HPSlideSegmentViewDataSouce>代理
self.slideBackgroungView.slideSegmenView.dataSource=self;

如果是使用对象名

-(UIViewController *)hp_slideListWithViewController:(HPSlideModel *)slideSegmentView index:(NSUInteger)index{

    AViewController *aViewController=[slideSegmentView cacheWithClass:[AViewController class] initAction:nil];
    aViewController.titleView = _dataSouce[index];
    return aViewController;
}

如果是使用storyboard

-(UIViewController *)hp_slideListWithViewController:(HPSlideModel *)slideSegmentView index:(NSUInteger)index{

    HomeViewController *homeViewController=[slideSegmentView cacheWithStoryboard:self.storyboard identifier:@"HomeViewController" cacheIndex:index];
    [homeViewController.view layoutIfNeeded];//更新一下

    homeViewController.title = "主页";

    return homeViewController;
}

注意

  • 如果是非自动布局 创建控件

    • 如果是View 上需要在 layoutSubviews 更新控件的大小或者位置
    • 如果是ViewController 上需要在 viewDidLayoutSubviews 更新控件的大小或者位置

Latest podspec

{
    "name": "HPSlideSegmentView",
    "version": "0.1.20",
    "summary": "HPSlideSegmentView u6ed1u52a8u60acu505cu548cu4fa7u6ed1u6846u67b6",
    "homepage": "https://github.com/lanhaiyang/HPSlideSegmentView",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "lanhaiyang": "[email protected]"
    },
    "platforms": {
        "ios": "7.0"
    },
    "source": {
        "git": "https://github.com/lanhaiyang/HPSlideSegmentView.git",
        "tag": "0.1.20"
    },
    "source_files": "HPSlideSegmentView/HPSlideSegmenView/*.{h,m}",
    "requires_arc": true,
    "subspecs": [
        {
            "name": "BaseView",
            "source_files": "HPSlideSegmentView/HPSlideSegmenView/BaseView/*.{h,m}"
        },
        {
            "name": "Tool",
            "source_files": "HPSlideSegmentView/HPSlideSegmenView/Tool/*.{h,m}"
        },
        {
            "name": "Manage",
            "resources": "HPSlideSegmentView/HPSlideSegmenView/Tool/*.{h,m}",
            "source_files": "HPSlideSegmentView/HPSlideSegmenView/Manage/*.{h,m}"
        }
    ]
}

Pin It on Pinterest

Share This