多语言展示
当前在线:1466今日阅读:26今日分享:39

用SDCycleScrollView广告栏分页器形状

近期遇到一个项目,有几个不同的页面有广告栏,但是他们分页器(PageControl)的形状不同(一个圆形,一个长方形)。经过一番研究,使用SDCycleScrollView,通过打断点调试对SDCycleScrollView的内部代码经过一番修改添加,成功将问题解决。
方法/步骤
1

找到 TAPageControl.h 文件,在文件中添加@property (nonatomic, assign) NSInteger pagControllerType;分页控制器类型属性(0:圆形:1方形)。

2

找到 TAAnimatedDotView.h 文件,在文件中添加@property (nonatomic, assign) NSInteger pagControllerType;和-(void)setPagContorollerCornerRadiu;// 设置PagContoroller圆角方法

3

在 TAAnimatedDotView.m 文件中 将 initialization 方法中的self.layer.cornerRadius = CGRectGetWidth(self.frame) / 2;注释掉:然后添加setPagContorollerCornerRadiu方法

4

在 TAPageControl.m 文件的 generateDotView 方法中 添加((TAAnimatedDotView *)dotView).pagControllerType = self.pagControllerType; [(TAAnimatedDotView *)dotView setPagContorollerCornerRadiu];代码。

5

在 TADotView.m 文件的 initialization 中将 self.layer.cornerRadius = CGRectGetWidth(self.frame)/2;注释掉。

6

在 SDCycleScrollView.h 文件中添加/** 分页控件显示类型(圆形或者方形) */@property (nonatomic, assign) NSInteger pagControllerType;属性。

7

在 SDCycleScrollView.m 文件的- (void)setPageControlDotSize:(CGSize)pageControlDotSize和- (void)setCurrentPageDotColor:(UIColor *)currentPageDotColor和- (void)setupPageControl和- (void)layoutSubviews和- (void)scrollViewDidScroll:(UIScrollView *)scrollView方法中添加pageContol.pagControllerType = self.pagControllerType;代码。

8

然后在需要使用的地方写上使用代码。

推荐信息