首页 > 其他分享 >iOS开发之样式多样好用的滑动视图Demo

iOS开发之样式多样好用的滑动视图Demo

时间:2022-11-28 17:05:47浏览次数:51  
标签:nonatomic Demo iOS 视图 默认 strong property assign CGFloat


现在App基本上都有滑动式图的展示,尤其是新闻资讯类的用到的最多,今天就给大家展示一个多样的滑动视图样式;

首先可以看到,这是几种不同的搭配模式,也可以根据style进行其他样式的尝试,

iOS开发之样式多样好用的滑动视图Demo_ico

其中我们可以根据ZJSegmentStyle进行样式设置

#import <UIKit/UIKit.h>
@interface ZJSegmentStyle : NSObject
/** 是否显示遮盖 默认为NO */
@property (assign, nonatomic, getter=isShowCover) BOOL showCover;
/** 是否显示滚动条 默认为NO*/
@property (assign, nonatomic, getter=isShowLine) BOOL showLine;
/** 是否缩放标题 默认为NO*/
@property (assign, nonatomic, getter=isScaleTitle) BOOL scaleTitle;
/** 是否滚动标题 默认为YES 设置为NO的时候所有的标题将不会滚动, 和系统的segment效果相似 */
@property (assign, nonatomic, getter=isScrollTitle) BOOL scrollTitle;
/** 是否颜色渐变 默认为NO*/
@property (assign, nonatomic, getter=isGradualChangeTitleColor) BOOL gradualChangeTitleColor;
/** 是否显示附加的按钮 默认为NO*/
@property (assign, nonatomic, getter=isShowExtraButton) BOOL showExtraButton;
/** 设置附加按钮的背景图片 默认为nil*/
@property (strong, nonatomic) NSString *extraBtnBackgroundImageName;
/** 滚动条的高度 默认为2 */
@property (assign, nonatomic) CGFloat scrollLineHeight;
/** 滚动条的颜色 */
@property (strong, nonatomic) UIColor *scrollLineColor;
/** 遮盖的颜色 */
@property (strong, nonatomic) UIColor *coverBackgroundColor;
/** 遮盖的圆角 默认为14*/
@property (assign, nonatomic) CGFloat coverCornerRadius;
/** 遮盖的高度 默认为28*/
@property (assign, nonatomic) CGFloat coverHeight;
/** 标题之间的间隙 默认为15.0 */
@property (assign, nonatomic) CGFloat titleMargin;
/** 标题的字体 默认为14 */
@property (strong, nonatomic) UIFont *titleFont;
/** 标题缩放倍数, 默认1.3 */
@property (assign, nonatomic) CGFloat titleBigScale;
/** 标题一般状态的颜色 */
@property (strong, nonatomic) UIColor *normalTitleColor;
/** 标题选中状态的颜色 */
@property (strong, nonatomic) UIColor *selectedTitleColor;
/** segmentVIew的高度, 这个属性只在使用ZJScrollPageVIew的时候设置生效 */
@property (assign, nonatomic) CGFloat segmentHeight;

最后就是我们对代码的使用

//添加滑动视图
    ZJSegmentStyle *zjSegStyle = [[ZJSegmentStyle alloc] init];
    //滚动条
    zjSegStyle.showLine = YES;
    //设置间隙
    zjSegStyle.titleMargin = 60.0;//((6-3)+1)*15,默认6个,需要显示3个,加上默认的一个间隙
    //设置标题字体
    zjSegStyle.titleFont = [UIFont systemFontOfSize:FONT_SIZE];
    //设置子控制器,注意子控制器需要设置title,将用于对应的tag显示title
    NSArray *childTVCArray = [NSArray arrayWithArray:[self addChildTVCAndTitle]];
    ZJScrollPageView *zjScrollPageV = [[ZJScrollPageView alloc] initWithFrame:CGRectMake(0, self.topView.bottom, f_Device_w, f_Device_h-self.topView.bottom-50) segmentStyle:zjSegStyle childVcs:childTVCArray parentViewController:self];
    [self.view addSubview:zjScrollPageV];

这是我用到过得一个样式和使用方法,具体大家可以下载Demo继续研究

iOS开发之样式多样好用的滑动视图Demo_新闻_02







标签:nonatomic,Demo,iOS,视图,默认,strong,property,assign,CGFloat
From: https://blog.51cto.com/u_15894905/5892247

相关文章

  • Swift基础之封装蒙版指导视图
    相信大家都见到过,一个软件添加了新功能,会给用户使用步骤指导,所以我针对这个功能,便于使用的小demo,希望对大家有帮助。源码中的注释比较详细,这里不再赘述,自行研究:varimageNam......
  • Swift基础之实现下拉变大和OC下拉变大上拉缩小Demo
    Swift语言实现下拉变大效果:(上拉缩小效果随后研究......)关键代码:方法一:self.automaticallyAdjustsScrollViewInsets=false;              tableViewW=UI......
  • iOS开发之可双向调节的Slider滑块
    滑块在很多地方都有使用,所以这里向大家展示一个自定义的可双向控制的Slider,并且可以通过代理方法获取相应的范围值,部分代码如下:属性值:/** 设置最小值 */@property(nonato......
  • iOS开发之最近的小知识点总结一
    1、NSInteger打印以及字符串的转换2、UIScrollView在iOS7中使用了Autolayout导致不能滚动3、APP包瘦身4、interactivepopgesturerecognizer使用5、UICollectionView的数......
  • iOS开发之模仿语音聊天时,显示的音量图
    因为项目中有涉及到语音的内容,所以在这里实现一下说话时语音的音量图的展示具体内容查看代码,有注释语音内容的工具类:staticidinstance;#pragmamark-单例+(instancetyp......
  • iOS开发之最近小知识总结二
    有好多都是基础知识,仅供参考,谢谢1、autolayout自动布局autoLayout需要在​​-(void)viewDidLoad​​​方法执行完后生效,所以需要在​​-(void)viewDidAppear:(BOOL)ani......
  • Swift基础之init方法,实例(对象)方法,类(静态)方法的使用(多标签Demo)
    Xcode更新过后,有些方法都进行了改变,Demo中有变化的都进行了简单的标记,具体以后遇见再说创建一个UIView类,用init方法创建两种类型,显示多标签,创建静态方法进行调用,创建类方法......
  • iOS开发之字数不一的多标签Demo
    有朋友让帮他写一个封装的字数不一的多标签视图,所以今天将代码展示一下,供大家学习代码中封装了两种方法,分别是:1.传递数组,数组中是NSString类型的方法;2.传递数组,数组中是NSDi......
  • iOS开发之自己封装的提示框(警告框)样式BHAlertView
    最近需要使用到提示框(警告框)进行信息的展示和提醒,所以进行了一个类的封装,想用Swift调用此OC文件,但是发现有些困难,所以暂时先把OC代码进行展示,随后再好好研究一下在Swift中的......
  • vue大文件上传demo
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传......