• Stars
    star
    180
  • Rank 213,097 (Top 5 %)
  • Language
    Objective-C
  • Created about 8 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

快速集成顶部菜单 - OC版本年久失修,Swift请选择EasyKits下的EasySegmentedView和EasyPagingContainerView

MLMSegmentPage

OC版本年久失修,Swift请选择EasyKits下的EasySegmentedView和EasyPagingContainerView

manage your controllers or views

  • 快速集成顶部菜单栏
  • 拆分为MLMSegementHead和MLMSegmenScroll,分别设置,使用更灵活
  • 使用NSCache统计页面加载

效果

  • 单独创建自己的ViewController,低耦合,具体操作在自己的ViewController中实现
  • 直接创建UIView添加到视图中
  • 根据需求选择不同的样式,具体效果可以自己定制
  • 设置初次进入显示的页面,
  • 设置初次进入加载的页面数目,和滑动过程中页面中保留的页面数目

添加

MLMSegmentScroll
//添加子视图的时机
typedef enum : NSUInteger {
    SegmentAddNormal,//滑动或者动画结束
    SegmentAddScale//根据设置滑动百分比添加0-1
} SegmentAddTiming;

///SegmentAddScale 时使用 0-1
@property (nonatomic, assign) CGFloat addScale;

样式

MLMSegmentHead
//风格
typedef enum : NSUInteger {
    /**
     *  默认
     */
    SegmentHeadStyleDefault,
    /**
     *  line(下划线)
     */
    SegmentHeadStyleLine,
    /**
     *  arrow(箭头)
     */
    SegmentHeadStyleArrow,
    /**
     *  Slide(滑块)
     */
    SegmentHeadStyleSlide
} MLMSegmentHeadStyle;
//布局样式
typedef enum : NSUInteger {
    /*
     * 默认均分,根据maxTitles计算宽度,均分
     */
    MLMSegmentLayoutDefault,
    
    /*
     * 居中(标题不足一屏时选择样式,反之设置后按照居左)
     */
    MLMSegmentLayoutCenter,
    /*
     * 居左
     */
    MLMSegmentLayoutLeft
    
} MLMSegmentLayoutStyle;

部分样式预览

image image image image image image image image

安装

将 MLMSegmentPageView 拖入Xcode工程中

使用

将 MLMSegmentManager.h 加入工程中,执行代码

  • 基础设置
    MLMSegmentHead *segHead = [[MLMSegmentHead alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH, 40) titles:list headStyle:_style layoutStyle:_layout];
    
    MLMSegmentScroll *segScroll = [[MLMSegmentScroll alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(_segHead.frame), SCREEN_WIDTH, SCREEN_HEIGHT-CGRectGetMaxY(_segHead.frame)) vcOrViews:[self vcArr:list.count]];
    
    [MLMSegmentManager associateHead:segHead withScroll:segScroll completion:^{
        [self.view addSubview:segHead];
        [self.view addSubview:segScroll];
    }];

滑动中加载页面

  • 默认设置为第一次进入只加载当前显示的页面,即 segScroll.loadAll = NO;
  • 默认滑动过程中最大缓存页面是所有页面,即 segScroll.countLimit = vcsOrviews.count;即segScroll.loadAll =

其他设置

  • 具体设置,参照代码
  • 注意,创建MLMSegmentHead和MLMSegmentScroll,并使用MLMSegmentManager绑定两个View,在block中设置addSubView:操作

未来将添加

  • 添加自定义button的类,用于更复杂的头部菜单
  • 添加moreButton,用于添加,删除头部菜单的数据源

反馈

  • 如果您在使用过程中发现任何bug或者有好的改动建议,希望您可以issue我或者发邮件到[email protected]反馈给我

More Repositories

1

MLMOptionSelectView

MLMOptionSelectView -PopMenu - 弹出-选择-展示框
Objective-C
168
star
2

EasyKits

常用扩展,分类导航,类似简书的UIScrollView嵌套、数据驱动复杂列表、弹窗、轮播、路由等
Swift
110
star
3

MLMProgressCollection

progress,刻度,WaveWater
Objective-C
96
star
4

CodeView

验证码输入,密码输入框封装
Objective-C
73
star
5

flutter_ui_challenge

flutter demo
Dart
44
star
6

flutter_easy_segment

tabbarview plus
Dart
8
star
7

BubbleDemo

气泡动画
Objective-C
8
star
8

flutter_table_view

A Flutter sticky headers & index ListView。像UITableView一样使用。
Dart
7
star
9

MLMNetWork

网络请求 - RxSwift、HandyJson、Alamofire
Swift
6
star
10

FuckingSwiftUI

SwiftUI:基础组件、动画、手势示例,Combine示例,Grid布局分析
Swift
5
star
11

Screenshot

WebView截屏
Objective-C
2
star
12

MLMBarrageManager

一个简单的弹幕
Objective-C
2
star
13

DealWithImage

UIImage的简单操作:http://www.jianshu.com/p/3baddf100b67
Objective-C
1
star
14

MLMScrollView

起初项目中需要两个不同的view循环滑动,也可用于展示循环图片
Objective-C
1
star
15

MLMSpecs

私有Pod源
Ruby
1
star
16

drawDemo

绘图Demo-简书地址:http://www.jianshu.com/p/88f8ec28d544
Objective-C
1
star
17

JavaStudy

JavaStudy
Java
1
star
18

GradientColor

Objective-C
1
star
19

MLMDownload

文件的简单下载,目前已经满足项目中的使用,之后有时间升级吧
Objective-C
1
star
20

WaveWateDemo

简书地址:http://www.jianshu.com/p/322ac1a0f825
Objective-C
1
star
21

CustomAnimationDemo

转场动画练习
Objective-C
1
star
22

AttributeMaker

通过链式编程的写法,更容易的设置AttributesString的多种属性,希望以后可以用此demo写一个图文混排的第三方,暂时有设置多种风格 字体 添加图片之后 的文本高度计算问题
Objective-C
1
star