IOS UISlider来显示页数、页码提示

原贴地址:http://hi.baidu.com/jwq359699768/blog/item/b4e05910c107101f203f2e23.html


       利用UISlider来实现类似鲜果联播里面的页码提示,要实现的效果如右图红框。具体实现代码如下:

-(void)loadPagination{

pagination =[[UIView alloc] init];//页脚部分视图

UILabel *first =[[UILabel alloc] initWithFrame:CGRectMake(0,0,60,36)];//第几页显示

first.backgroundColor =[UIColor clearColor];//背景透明

first.text = [NSString stringWithFormat:@"第%d页",pageNow];

first.font =[UIFont systemFontOfSize:14];

[pagination addSubview:first];//添加到页脚视图

[first release];

 

int totalNumberOfPages = totalPages;

UISlider *pageSlider =[[UISlider alloc] initWithFrame:CGRectMake(0+first.frame.size.width,0 (totalNumberOfPage -1)*20+18 ,36)];

//当前面的蓝点,翻页有变换位置

UIGraphicsBeginImageContext(CGSizeMake((totalNumberOfPages-1)*20+18 , 4));

UIImage *dot = [UIImage imageNamed:@"gray_dot.png"];//灰色小点的图片

for(int i =0; i < totalNumberOfPages; i++)//有几页就画几个点

{

[dot drawInRect:CGRectMake(i*20+7), 0, 4, 4)];

}

UIImage *trackImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

[pageSlider setThumbImage:[UIImage imageNamed:"blue_dot.png"] forState:UIControlStateNormal];//小蓝点图片

[pageSlider setMinimumTrackImage:trackImage forState:UIControlStateNormal];

[pageSlider setMaximumTrackImage: trackImage forState:UIControlStateNormal];

pageSlider.maximumValue = totalNumerOfPages;//最大页码

pageSlider.minmumValue = 1;//最小页码

pageSlider.value = pageNow;//当前所在位置

pageSlider.userInteractionEnabled = NO;

[pagination addSubview:pageSlider];

[pageSlider release];

 

UILabel *total = [[UILabel alloc] initWithFrame:CGRectMake(6+first.size.width+paageSlider.frame.size.width,0 , 64 ,36)];//共几页

total.backgroundColor =[UIColor clearColor];

total.text = [NSString stringWithFormat:@"共%i页" , totalNumberOfPages];

total.font = [UIFont systemFontOfSize:14];

[pagination addSubview:total ];

[total release ];

 

int width = first.frame.size.width + pageSlider.frame.size.width + total.frame.size.width;

pagination.frame = CGRectMake((self.frame.size.width - width)/2 ,self.frame.size.height - 36, width, 36 );

[self addSubview: pagination];//将页脚添加到视图

[pagination realease];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值