Skip to content

Commit

Permalink
[Releases 1.6.9] Badge 新增配置属性,支持网络图片
Browse files Browse the repository at this point in the history
  • Loading branch information
kingsic committed Nov 1, 2020
1 parent b676c53 commit f30102d
Show file tree
Hide file tree
Showing 15 changed files with 433 additions and 298 deletions.
28 changes: 12 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@

* QQ群:825339547

* 1.6.0 开始支持 autolayout 创建

* [SGTagsView 设计来源于本框架中的 SGPageTitleView](https://github.com/kingsic/SGCrayfish)


Expand Down Expand Up @@ -53,7 +51,7 @@ SGPageContentCollectionView(内部由 UICollectionView 实现)


## Installation
* 1、CocoaPods 导入 pod 'SGPagingView', '~> 1.6.7'
* 1、CocoaPods 导入 pod 'SGPagingView', '~> 1.6.9'
* 2、下载、拖拽 “SGPagingView” 文件夹到工程中


Expand Down Expand Up @@ -154,37 +152,35 @@ b. 实现 SGPageContentScrollView 的 pageContentScrollView:index:代理方法

* 2016-10-07 :初始版本的创建

* 2017-04-13 :版本升级(根据标题内容自动识别 SGPageTitleView 是静止还是滚动样式)

* 2017-07-21 :v1.1.7 加入 CocoaPods 管理以及新增 SGPageContentScrollView 类
* 2017-07-21 :v1.1.7 加入 CocoaPods 管理及新增 SGPageContentScrollView 类

* 2017-10-17 :v1.3.0 版本升级新增 SGPageTitleViewConfigure 类并提供更多属性设置以及支持指示器遮盖样式)
* 2017-10-17 :v1.3.0 版本升级新增 SGPageTitleViewConfigure 类及支持指示器遮盖样式

* 2018-05-08 :v1.3.7 修复 1.3.6 版本选中标题重复点击恢复默认状态以及 SGPageTitleViewConfigure 新增配置属性
* 2018-05-08 :v1.3.7 修复 1.3.6 版本选中标题重复点击恢复默认状态及新增相关配置属性

* 2018-07-09 :v1.5.0 版本升级具体相关信息请查看 [releases](https://github.com/kingsic/SGPagingView/releases) 中版本介绍
* 2018-07-09 :v1.5.0 版本升级具体相关信息请查看 [releases](https://github.com/kingsic/SGPagingView/releases) 中版本介绍

* 2018-08-28 :v1.5.2 SGPageContentScrollView 内部代码优化处理(感谢 [petyou](https://github.com/petyou) 提供的优化方案)

* 2018-09-01 :v1.5.3 SGPageTitleView 内部代码优化以及新增 SGPagingViewPopGestureVC 用于解决侧滑返回手势
* 2018-09-01 :v1.5.3 新增 SGPagingViewPopGestureVC 用于解决侧滑返回手势

* 2018-09-26 :v1.5.5 标题文字缩放效果由文字缩放调整为控件缩放

* 2018-12-01 :v1.5.6 SGPageTitleView 新增重置标题、指示器颜色方法

* 2019-01-09 :v1.6.0 支持 autolayout 创建
* 2019-01-09 :v1.6.0 版本升级:支持 autolayout 布局

* 2019-03-27 :v1.6.1 修复 1.6.0 版本 addBadgeForIndex 方法内 badge 布局问题
* 2019-03-27 :v1.6.1 修复 addBadgeForIndex 方法内 badge 布局问题

* 2019-07-17 :v1.6.3 修复设置图片样式下图片布局问题以及对内部代码的优化处理
* 2019-07-17 :v1.6.3 修复设置图片样式下图片布局问题及内部代码优化处理

* 2019-07-20 :v1.6.5 滚动样式下 titleTextZoom 属性支持指示器下划线及遮盖样式下的滚动
* 2019-07-20 :v1.6.5 滚动样式下 titleTextZoom 属性支持指示器下划线及遮盖样式的滚动

* 2019-07-22 :v1.6.6 SGPageTitleViewConfigure 新增 equivalence 属性支持静止样式下标题从左到右自动布局

* 2019-07-27 :v1.6.7 支持标题文字上下行样式以及 titleGradientEffect 属性与 resetTitleColor:titleSelectedColor: 方法的兼容
* 2019-07-27 :v1.6.7 标题支持上下行及 titleGradientEffect 属性与 resetTitleColor:titleSelectedColor: 方法兼容

* 2019-07-27 :v1.6.8 SGPageTitleViewConfigure 添加 bounce 属性
* 2020-11-01 :v1.6.9 Badge 新增配置属性,支持网络图片,修复无指示器滚动内容视图时标题文字不切换


## License
Expand Down
4 changes: 2 additions & 2 deletions SGPagingView.podspec
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@

Pod::Spec.new do |s|
s.name = 'SGPagingView'
s.version = '1.6.8'
s.summary = 'A powerful and easy to use segment control'
s.version = '1.6.9'
s.summary = 'A powerful and easy to use segment view'
s.homepage = 'https://github.com/kingsic/SGPagingView'
s.license = 'MIT'
s.authors = {'kingsic' => '[email protected]'}
Expand Down
5 changes: 5 additions & 0 deletions SGPagingView/Category/UIButton+SGPagingView.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ typedef enum : NSUInteger {
SGImagePositionStyleBottom,
} SGImagePositionStyle;

typedef void(^LoadImageCompleteBlock)(UIImage *image);

@interface UIButton (SGPagingView)
/**
* 设置图片与文字样式
Expand All @@ -29,4 +31,7 @@ typedef enum : NSUInteger {
*/
- (void)SG_imagePositionStyle:(SGImagePositionStyle)imagePositionStyle spacing:(CGFloat)spacing imagePositionBlock:(void (^)(UIButton *button))imagePositionBlock;

/** 加载网络图片 */
- (void)SG_loadImageWithUrlString:(NSString *)urlString complete:(LoadImageCompleteBlock)complete;

@end
15 changes: 15 additions & 0 deletions SGPagingView/Category/UIButton+SGPagingView.m
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,19 @@ - (void)SG_imagePositionStyle:(SGImagePositionStyle)imagePositionStyle spacing:(
}
}

/** 加载网络图片 */
- (void)SG_loadImageWithUrlString:(NSString *)urlString complete:(LoadImageCompleteBlock)complete {
NSBlockOperation *blockOperation = [NSBlockOperation blockOperationWithBlock:^{
NSURL *url = [NSURL URLWithString:urlString];
NSData *imageData = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:imageData];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
if (complete) {
complete(image);
}
}];
}];
[[[NSOperationQueue alloc] init] addOperation:blockOperation];
}

@end
4 changes: 2 additions & 2 deletions SGPagingView/SGPageContent/SGPageContentCollectionView.h
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
@protocol SGPageContentCollectionViewDelegate <NSObject>
@optional
/**
* 联动 SGPageTitleView 的方法
* 联动 SGPageTitleView 的 setPageTitleViewWithProgress:originalIndex:targetIndex: 方法使用
*
* @param pageContentCollectionView SGPageContentCollectionView
* @param progress SGPageContentCollectionView 内部视图滚动时的偏移量
Expand Down Expand Up @@ -58,7 +58,7 @@
/** 点击标题触发动画切换滚动内容,默认为 NO */
@property (nonatomic, assign) BOOL isAnimated;

/** 给外界提供的方法,根据 SGPageTitleView 标题选中时的下标并显示相应的子控制器 */
/** 联动 SGPageTitleView 的代理方法 pageTitleView:selectedIndex: 一起使用 */
- (void)setPageContentCollectionViewCurrentIndex:(NSInteger)currentIndex;

@end
Empty file modified SGPagingView/SGPageContent/SGPageContentCollectionView.m
100755 → 100644
Empty file.
4 changes: 2 additions & 2 deletions SGPagingView/SGPageContent/SGPageContentScrollView.h
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
@protocol SGPageContentScrollViewDelegate <NSObject>
@optional
/**
* 联动 SGPageTitleView 的方法
* 联动 SGPageTitleView 的 setPageTitleViewWithProgress:originalIndex:targetIndex: 方法使用
*
* @param pageContentScrollView SGPageContentScrollView
* @param progress SGPageContentScrollView 内部视图滚动时的偏移量
Expand Down Expand Up @@ -58,7 +58,7 @@
/** 点击标题触发动画切换滚动内容,默认为 NO */
@property (nonatomic, assign) BOOL isAnimated;

/** 给外界提供的方法,根据 SGPageTitleView 标题选中时的下标并显示相应的子控制器 */
/** 联动 SGPageTitleView 的代理方法 pageTitleView:selectedIndex: 一起使用 */
- (void)setPageContentScrollViewCurrentIndex:(NSInteger)currentIndex;

@end
Empty file modified SGPagingView/SGPageContent/SGPageContentScrollView.m
100755 → 100644
Empty file.
64 changes: 26 additions & 38 deletions SGPagingView/SGPageTitle/SGPageTitleView.h
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ typedef enum : NSUInteger {

@protocol SGPageTitleViewDelegate <NSObject>
/**
* 联动 pageContent 的方法
* 联动 PageContent 的 setPageContentViewCurrentIndex: 方法使用
*
* @param pageTitleView SGPageTitleView
* @param selectedIndex 选中按钮的下标
Expand All @@ -34,64 +34,52 @@ typedef enum : NSUInteger {
/**
* 对象方法创建 SGPageTitleView
*
* @param frame frame
* @param delegate delegate
* @param titleNames 标题数组
* @param frame frame
* @param delegate delegate
* @param titleNames 标题数组
* @param configure SGPageTitleView 信息配置
*/
- (instancetype)initWithFrame:(CGRect)frame delegate:(id<SGPageTitleViewDelegate>)delegate titleNames:(NSArray *)titleNames configure:(SGPageTitleViewConfigure *)configure;
/**
* 类方法创建 SGPageTitleView
*
* @param frame frame
* @param delegate delegate
* @param titleNames 标题数组
* @param configure SGPageTitleView 信息配置
*/
/** 类方法创建 SGPageTitleView */
+ (instancetype)pageTitleViewWithFrame:(CGRect)frame delegate:(id<SGPageTitleViewDelegate>)delegate titleNames:(NSArray *)titleNames configure:(SGPageTitleViewConfigure *)configure;

/** 给外界提供的方法,获取 PageContent progressoriginalIndextargetIndex, 必须实现 */
/** 联动 PageContent 的代理方法 pageContentScrollView:progress:originalIndex:targetIndex: 一起使用 */
- (void)setPageTitleViewWithProgress:(CGFloat)progress originalIndex:(NSInteger)originalIndex targetIndex:(NSInteger)targetIndex;

/** 选中标题按钮下标,默认为 0 */
@property (nonatomic, assign) NSInteger selectedIndex;
/** 重置选中标题按钮下标(用于子控制器内的点击事件改变标题的选中下标)*/
@property (nonatomic, assign) NSInteger resetSelectedIndex;

/** 根据标题下标值添加 badge */
- (void)addBadgeForIndex:(NSInteger)index;
/** 根据标题下标值移除 badge */
- (void)removeBadgeForIndex:(NSInteger)index;

/** 根据标题下标值重置标题文字 */
- (void)resetTitle:(NSString *)title forIndex:(NSInteger)index;
/** 重置指示器颜色 */
- (void)resetIndicatorColor:(UIColor *)color;
/** 重置标题普通状态、选中状态下文字颜色 */
- (void)resetTitleColor:(UIColor *)color titleSelectedColor:(UIColor *)selectedColor;
/** 重置标题普通状态、选中状态下文字颜色及指示器颜色方法 */
- (void)resetTitleColor:(UIColor *)color titleSelectedColor:(UIColor *)selectedColor indicatorColor:(UIColor *)indicatorColor;

/** 根据标题下标值设置标题的 attributedTitle 属性 */
- (void)setAttributedTitle:(NSMutableAttributedString *)attributedTitle selectedAttributedTitle:(NSMutableAttributedString *)selectedAttributedTitle forIndex:(NSInteger)index;

/**
* 设置标题图片及位置样式
*
* @param images 默认图片名数组
* @param selectedImages 选中图片名数组
* @param imagePositionType 图片位置样式
* @param spacing 图片与标题文字之间的间距
* @param images 默认图片名数组
* @param selectedImages 选中图片名数组
* @param imagePositionType 图片位置样式
* @param spacing 图片与标题文字之间的间距
*/
- (void)setImages:(NSArray *)images selectedImages:(NSArray *)selectedImages imagePositionType:(SGImagePositionType)imagePositionType spacing:(CGFloat)spacing;
/**
* 根据标题下标设置标题图片及位置样式
*
* @param image 默认图片名
* @param selectedImage 选中图片名
* @param imagePositionType 图片位置样式
* @param spacing 图片与标题文字之间的间距
* @param index 标题对应下标值
*/
/** 根据标题下标设置标题图片及位置样式 */
- (void)setImage:(NSString *)image selectedImage:(NSString *)selectedImage imagePositionType:(SGImagePositionType)imagePositionType spacing:(CGFloat)spacing forIndex:(NSInteger)index;

/** 根据标题下标值添加 badge */
- (void)addBadgeForIndex:(NSInteger)index;
/** 根据标题下标值添加 badge */
- (void)addBadgeWithText:(NSString *)text forIndex:(NSInteger)index;
/** 根据标题下标值移除 badge */
- (void)removeBadgeForIndex:(NSInteger)index;

/** 重置指示器颜色 */
- (void)resetIndicatorColor:(UIColor *)color;
/** 重置标题普通状态、选中状态下文字颜色 */
- (void)resetTitleColor:(UIColor *)color titleSelectedColor:(UIColor *)selectedColor;
/** 重置标题普通状态、选中状态下文字颜色及指示器颜色 */
- (void)resetTitleColor:(UIColor *)color titleSelectedColor:(UIColor *)selectedColor indicatorColor:(UIColor *)indicatorColor;

@end
Loading

0 comments on commit f30102d

Please sign in to comment.