Git Product home page Git Product logo

viewpager's Introduction

ViewPager

可以集成不同的控制器进行左右滑动,给控制器设置标题实现左右联动的效果


实现效果:


关于ViewPager:

  • 可以自定义title按钮的样式,如果不设置默认黑色字体,选中红色字体
  • 可以在title上添加自定义的视图,并自定义视图的高度
  • 根据tilte的内容和屏幕的宽度自动设置frame确保填充整个屏幕的宽度,当title的总宽度超出屏幕时会实现滚动效果

安装

  1. 打开LSYViewPagerVC项目导入LSYViewPagerVC.hLSYViewPagerVC.m即可

使用

继承

  • 导入头文件LSYViewPagerVC.h
  • 当前要实现的控制器继承LSYViewPagerVC
#import "LSYViewPagerVC.h"
@interface ViewController : LSYViewPagerVC
@end
  • 给当前的控制器设置代理方法
- (void)viewDidLoad {
    [super viewDidLoad];
    self.delegate = self;
    self.dataSource = self;
}

###代理方法实现

-(NSInteger)numberOfViewControllersInViewPager:(LSYViewPagerVC *)viewPager
{
    //返回要实现滚动效果的控制器数量
}
-(__kindof UIViewController *)viewPager:(LSYViewPagerVC *)viewPager indexOfViewControllers:(NSInteger)index
{
    //返回每个位置下的控制器
}
-(UIView *)headerViewForInViewPager:(LSYViewPagerVC *)viewPager
{
    //返回自定义的头部视图,不实现该代理方法则默认没有头部视图
}
-(CGFloat)heightForHeaderOfViewPager:(LSYViewPagerVC *)viewPager
{
    //返回头部视图的高度
}
-(CGFloat)heightForTitleOfViewPager:(LSYViewPagerVC *)viewPager
{
    //返回控制器显示title的高度
}
-(NSString *)viewPager:(LSYViewPagerVC *)viewPager titleWithIndexOfViewControllers:(NSInteger)index
{
    //返回每一个控制器title的内容
}
-(UIButton *)viewPager:(LSYViewPagerVC *)viewPager titleButtonStyle:(NSInteger)index
{
	//设置控制器标题按钮的样式,如果不设置将使用默认的样式,选择为红色,不选中为黑色带有选中下划线
}

viewpager's People

Contributors

ggghub avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.