自定义滚动控件(Pagecontrol)
//
// MyPageCorol.h
// lejiahui
//
// Created by iOS开发 on 16/4/10.
// Copyright © 2016年 zhongmingwuye. All rights reserved.
// #import <UIKit/UIKit.h> @interface MyPageCorol : UIView /** 当前页数 */
@property(nonatomic,assign) NSInteger correntPage; /** itmenSize */
@property(nonatomic,assign) CGSize itmeSize; + (MyPageCorol *)myPageControlWithSuperView:(UIView *)superView; - (void)setImage:(UIImage *)image andSelectImage:(UIImage *)slectImage totalNum:(NSInteger)totalNum; - (void)setColor:(UIColor *)color andSelectColor:(UIColor*)selectColor totalNum:(NSInteger)totalNum; @end //
// MyPageCorol.m
// lejiahui
//
// Created by iOS开发 on 16/4/10.
// Copyright © 2016年 zhongmingwuye. All rights reserved.
// #import "MyPageCorol.h" @interface MyPageCorol()
{
NSMutableArray * _pageItems;
UIColor * _selectedColor;
UIColor * _color; UIImage * _image;
UIImage * _selectedImage; BOOL _isImage; NSInteger _width;
NSInteger _height;
} @end @implementation MyPageCorol + (MyPageCorol *)myPageControlWithSuperView:(UIView *)superView{
MyPageCorol * pl = [[MyPageCorol alloc]init];
pl.frame = CGRectMake(, superView.frame.size.height-, superView.frame.size.width, );
pl.backgroundColor = [UIColor clearColor];
[superView addSubview:pl];
return pl;
} - (instancetype)init{
if (self=[super init]) {
self.itmeSize = CGSizeMake(, );
}
return self;
} - (void)setItmeSize:(CGSize)itmeSize{
_itmeSize = itmeSize;
_width = itmeSize.width;
_height = itmeSize.height;
}
//设置图片形式
- (void)setImage:(UIImage *)image andSelectImage:(UIImage *)slectImage totalNum:(NSInteger)totalNum{
_isImage = YES;
_image = image;
_selectedImage = slectImage; _pageItems = [[NSMutableArray alloc]init];
NSInteger num = totalNum; NSInteger height = ;
NSInteger width =;
if (self.itmeSize.height!=&&self.itmeSize.width!=) {
height = self.itmeSize.height;
width = self.itmeSize.width;
}
NSInteger sepreate = ;
NSInteger totalWidth = num*width+(num-)*sepreate;
NSInteger orangex = (self.frame.size.width-totalWidth)/;
NSInteger orangey = (self.frame.size.height - height)/;
for (int i = ;i< num; i++) {
UIImageView * pageView = [[UIImageView alloc]init];
pageView.frame = CGRectMake(orangex+i*(width+sepreate), orangey, width, height);
[_pageItems addObject:pageView];
[self addSubview:pageView];
}
self.correntPage = ;
} //设置颜色形式
- (void)setColor:(UIColor *)color andSelectColor:(UIColor*)selectColor totalNum:(NSInteger)totalNum{
_pageItems = [[NSMutableArray alloc]init];
_color = color;
_selectedColor = selectColor; NSInteger num = totalNum;
NSInteger height = ;
NSInteger width =;
if (self.itmeSize.height!=&&self.itmeSize.width!=) {
height = self.itmeSize.height;
width = self.itmeSize.width;
}
NSInteger sepreate = ;
NSInteger totalWidth = num*width+(num-)*sepreate;
NSInteger orangex = (self.frame.size.width-totalWidth)/;
NSInteger orangey = (self.frame.size.height - height)/;
for (int i = ;i< num; i++) {
UIView * pageView = [[UIView alloc]init];
pageView.frame = CGRectMake(orangex+i*(width+sepreate), orangey, width, height);
[_pageItems addObject:pageView];
[self addSubview:pageView];
}
self.correntPage = ;
} - (void)setCorrentPage:(NSInteger)correntPage{
_correntPage = correntPage;
for (int i = ; i<_pageItems.count; i++) {
if (_isImage) {
UIImageView * imageView= _pageItems[i];
imageView.image = _image;
if (correntPage==i) {
imageView.image = _selectedImage;
}
}else{
UIView * view = _pageItems[i];
view.backgroundColor = _color;
if (correntPage==i) {
view.backgroundColor = _selectedColor;
}
}
}
} @end
自定义滚动控件(Pagecontrol)的更多相关文章
- [android] 手机卫士自定义滚动控件
TextView控件设置单行显示 android:singleLine=”true” 设置TextView开始的位置显示省略号,android:ellipsize=”start” 设置滚动属性,and ...
- Android实现图片轮显效果——自定义ViewPager控件
一.问题概述 使用ViewPager控件实现可横向翻页.水平切换图片等效果,但ViewPager需要手动滑动才能切换页面,图片轮显效果的效果本质上就是在ViewPager控件的基础上让它能自动的进行切 ...
- 安卓自定义组合控件--toolbar
最近在学习安卓APP的开发,用到了toolbar这个控件, 最开始使用时include layout这种方法,不过感觉封装性不好,就又改成了自定义组合控件的方式. 使用的工具为android stud ...
- Android自定义控件之自定义组合控件
前言: 前两篇介绍了自定义控件的基础原理Android自定义控件之基本原理(一).自定义属性Android自定义控件之自定义属性(二).今天重点介绍一下如何通过自定义组合控件来提高布局的复用,降低开发 ...
- asp.net webform 自定义分页控件
做web开发一直用到分页控件,自己也动手实现了个,使用用户自定义控件. 翻页后数据加载使用委托,将具体实现放在在使用分页控件的页面进行注册. 有图有真相,给个直观的认识: 自定义分页控件前台代码: & ...
- arcgis api for js共享干货系列之二自定义Navigation控件样式风格
arcgis api for js默认的Navigation控件样式风格如下图: 这样的风格不能说不好,各有各的爱好,审美观,这里也不是重点,这里的重点是如何自定义一套自己喜欢的样式风格呢:自己自定义 ...
- C# DataGridView自定义分页控件
好些日子不仔细写C#代码了,现在主要是Java项目,C#.Net相关项目不多了,有点手生了,以下代码不足之处望各位提出建议和批评. 近日闲来无事想研究一下自定义控件,虽然之前也看过,那也仅限于皮毛,粗 ...
- C# 自定义FileUpload控件
摘要:ASP.NET自带的FileUpload控件会随着浏览器的不同,显示的样式也会发生改变,很不美观,为了提高用户体验度,所以我们会去自定义FileUpload控件 实现思路:用两个Button和T ...
- C#Winform VScrollBar+Pannel自定义列表控件(原)
该控件的主要实现思路是用的objective-c中的自定义控件思路,主视图中放子视图 效果图 (窗体调用代码) public partial class Form1 : RibbonForm { Li ...
随机推荐
- xcode安装app
安装 xcode 安装 xcode command line tool 检查是否安装 在终端中运行: xcrun simctl list 如果出现所有的 Device Types,则可以进行第3步 如 ...
- Google Code Pretiffy 代码 着色 高亮 开源 javascript(JS)库
1.简介 introduction Google Code Pretiffy 是 Google 的一个用来对代码进行语法着色的 JavaScript 库,支持 C/C++, Java, Python, ...
- python练习程序(c100经典例13)
题目: 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数. for i in range(100,1000): a=i/100; b=(i/10)%10; c=i%1 ...
- 【英语】Bingo口语笔记(28) - 表示“秘密”
- 使用 Linux 终端 SSH 登录 VPS
Windows 中远程 SSH 登录 VPS 进行管理的利器是 PuTTY,但是 Linux 中就没必要用它了.Linux.Unix(包括 Mac iOS)都必然有内置的命令行终端,内建了 OpenS ...
- Java中'&'与、'|'或、'^'异或、'<<'左移位、'>>'右移位
public static void main(String[] args) { /* * &:与运算 * 全为1则为1,否则为0 */ System.out.print(1 & 0) ...
- C++编程常见错误
1.成员变量要记得在构造函数中初始化 2.还是初始化!初始化!初始化!
- jsonp调用实例
首先我们来定义接口的规范,就像这样:http://www.mydomain.com/jsonp/ticker?symbol=IBM&callback=showPricesymbol是请求条件, ...
- Unicode和汉字编码小知识
Unicode和汉字编码小知识 将汉字进行UNICODE编码,如:“王”编码后就成了“\王”,UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制的数字,每两位表示的256以内的 ...
- J2EE事务
一.J2EE 事务处理方式 1. 本地事务:紧密依赖于底层资源管理器(例如数据库连接 ),事务处理局限在当前事务资源内.此种事务处理方式不存在对应用服务器的依赖,因而部署灵活却无法支持多数据源的分布式 ...