UIPageControl使用

来源:互联网 发布:学生管理系统设计c语言 编辑:程序博客网 时间:2024/05/16 12:55

1.在UIPageControl使用过程中,显示居中问题:

       在使用UIPageControl过程中,设置frame的时候将x设置为整个[[UIScreen mainScreen] bounds].size.width的宽度减去UIPageControl宽度,然后的一半。即是:

<pre name="code" class="html"><span style="font-size:14px;">UIPageControl *<span style="font-family: Arial, Helvetica, sans-serif;">pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake([[UIScreen mainScreen] bounds].size.width/2-5, kHeightWithScreen(184), 10, 10)];</span></span>

测试发现在除开iphone6plus上 显示不居中以外其他的机型上显示均居中。后来经过查证,原因是在初始化UIView时候,显示出的self.frame.size.width和[[UIScreen mainScreen] bounds].size.width居然不一样。如果将[[UIScreen mainScreen] bounds].size.width替换为self.frame.size.width则显示正确。究其原因是因为在初始化UIView时候默认是320,后来加载完数据后才知道实际的宽度。而[[UIScreen mainScreen] bounds].size.width则表示实际的宽度,与加载数据时候self.frame.size.width有差别;因此不能使用[[UIScreen mainScreen] bounds].size.width。或者有个更加简便的方法:

<span style="font-size:14px;">[[UIPageControl alloc] initWithFrame:CGRectMake(0,184, self.frame.size.width, 10)];</span>
直接设置UIPageControl宽度是self.frame.size.width。其背景颜色自动隐藏。

2.当与UIScrollView混合使用时候,判断页数:

        

<span style="font-size:14px;">#pragma mark - UIScrollViewDelegate-(void)scrollViewDidScroll:(UIScrollView *)scrollView{    CGFloat scrollViewW = scrollView.frame.size.width;    CGFloat x = scrollView.contentOffset.x;    int page = (x + scrollViewW/2)/scrollViewW;    _pageControl.currentPage = page;}</span>

调用UIScreenView的方法操作即可。


0 0
原创粉丝点击