iOS:UI系列之UIScrollview和UIPagecontrol
转眼间,又是一天,就这样忙忙碌碌的一天一天的过着, 不过还好,不是浑浑噩噩的,也算是小有所成,劳有所获吧,嘿嘿!
好了,到了总结的时间啦, 下面就为大家简单讲解下我今天学习的内容吧,希望对各位都有所帮助吧,同时也是对自己的一种激励,最终实现共赢吧 嘿嘿!
首先,在上课时间我们先简单讲述了UIScrollView, 它是一个滚动视图,继承于UIView,他没有自己的初始化方法,所以要用到父类的创建方法下面就为大家简单说明下其创建过程哈:
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
scrollView.backgroundColor = [UIColor redColor];
//设置内容页的大小,内容的大小必须比frame大,才能够滚动
//如果不设置内容页的大小,默认和frame大小一致
[scrollView setContentSize:CGSizeMake(, * )]; //设置滚动条是否可见
//水平滚动条
scrollView.showsHorizontalScrollIndicator = YES;
//竖直滚动条
scrollView.showsVerticalScrollIndicator = YES;
//设置内容页的偏移量, 默认内容页从(0, 0)点开始
scrollView.contentOffset = CGPointMake(, );
//设置整页滑动
scrollView.pagingEnabled = NO;
//设置边界是否回弹
scrollView.bounces = YES;
//滚动到顶部
scrollView.scrollsToTop = YES;
//设置能否滚动
scrollView.scrollEnabled = YES;
//设置边界是否回弹,只有在content的宽度或者高度 小于 frame的宽度或者高度,才有效
scrollView.alwaysBounceVertical = YES;
scrollView.alwaysBounceHorizontal = YES; //缩放, 缩放必须结合着代理(delegate)才能生效, 指定scrollView上哪个视图进行缩放
//设置当前的缩放比例, 默认为1.0
scrollView.zoomScale = 1.0;
//设置最大缩放比例
scrollView.maximumZoomScale = 2.0;
//设置最小缩放比例
scrollView.minimumZoomScale = 0.5; //设置delegate
scrollView.delegate = self; [self.view addSubview:scrollView];
[scrollView release]; imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image"]];
imageView.frame = CGRectMake(, , , * );
[scrollView addSubview:imageView];
[imageView release];
其中delegate代理的常用方法如下:
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} //当滚动scrollView时调用
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"%s", __FUNCTION__);
} //当发生了缩放的时候调用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
NSLog(@"%s", __FUNCTION__);
} //对ScrollView中的哪个视图缩放
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return imageView;
}
//将要开始拖拽的时候调用
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
NSLog(@"%s", __FUNCTION__);
} //将要结束拖拽的时候调用
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
NSLog(@"%s", __FUNCTION__);
} //已经结束拖拽的时候调用
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
NSLog(@"%s", __FUNCTION__);
}
感觉UIScrollView是为接下来所讲的做了一个铺垫,以便于实现之后图片页码的切换和滚动
在之后我们又讲了UIPageControl
UIPageControl:页码控制器,继承与UIControl
他和UIScrollView一样,也没有自己的初始化方法,同样要使用自己父类的方法,其具体创建方法如下所示
- (void)viewDidLoad
{
[super viewDidLoad];
//UIPageControl:页码控制器, 继承于UIControl
UIPageControl *pageControl = [[UIPageControl alloc] init];
pageControl.frame = CGRectMake(, , , );
pageControl.backgroundColor = [UIColor blackColor];
pageControl.numberOfPages = ;
//设置未选中的颜色
pageControl.pageIndicatorTintColor = [UIColor yellowColor];
//设置已选中的颜色
pageControl.currentPageIndicatorTintColor = [UIColor blueColor];
//设置只有一页时隐藏
pageControl.hidesForSinglePage = NO;
//关联方法
[pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:pageControl];
[pageControl release];
} - (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} - (void)changePage:(UIPageControl *)pageControl
{
//页码是从零开始的
NSLog(@"%d", pageControl.currentPage + );
}
下面我们来通过一个练习来进一步对这些空间作进一步的了解:
通过页面的滚动和页码的切换来调用方法进而使效果类似于我们看电子书一样翻页跳转, 下面我就来附上代码供大家参考:
- (void)changePage:(UIPageControl *)pageControl
{
if (pageControl.currentPage == ) {
[scrollView1 setContentOffset:CGPointMake(, ) animated:YES];
} else if (pageControl.currentPage == ) {
[scrollView1 setContentOffset:CGPointMake(, ) animated:YES];
} else if (pageControl.currentPage == ) {
[scrollView1 setContentOffset:CGPointMake( * , ) animated:YES];
}
} - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
pageControl1.currentPage = scrollView.contentOffset.x / ;
} - (void)close:(UIButton *)button1
{
//如果子视图的父视图被移除,那么这个子视图也会被移除
[button removeFromSuperview];
[scrollView1 removeFromSuperview];
[pageControl1 removeFromSuperview];
}
其中- (void)close:(UIButton *)button1 这个方法是用来跳转主页的, 就像我们在打开一款应用的时候上面都会显示一些新功能简介
- (void)changePage:(UIPageControl *)pageControl这个方法是用来使用翻页槽来进行换页操作的 然后待这些都完成后 我们只需要将这个文件的.m文件引入试图控制器就好了 也就是UIViewController, 下面就为大家附上效果动画图:
这些就是我们今天所学习的,渐渐的发现自己也慢慢的对这些小东西感兴趣了,也开始喜欢钻研琢磨一些新的东西, 虽然是零基础,但是我相信只要努力,没有什么是办不到的,也许刚开始你连代码都不知道是什么,但是这些都不重要, 重要的是胜不骄败不馁,懂得努力,知道奋斗才是最重要的,天分固然重要,但是只有天分却不知道珍惜那不就是等于白搭吗, 所以在这里告诉哪些和我一样对编程感兴趣的朋友,不要害怕,做自己想要做的, 只要感觉方向正确,那么我们就要付之于努力和行动,嘿嘿 好了各位, Byebye!
iOS:UI系列之UIScrollview和UIPagecontrol的更多相关文章
- IOS 欢迎页(UIScrollView,UIPageControl)
本文介绍了app欢迎页的简单实现.只有第一次运行程序时才说会出现,其余时间不会出现.下面是效果图. 代码如下:(如有不明白的可以评论我,我会详细讲解) // // ViewController.m / ...
- IOS UI 滚动视图 UIScrollView
UIScrollView 常用属性 scrollView.maximumZoomScale= 2.0; // 缩放最大比例 scrollView.minimumZoomScale = 0.2;// ...
- iOS:UI系列之UINavigationController
又到了总结的时间了,突然间感觉时间过得好快啊, 总觉的时间不够用,但是这也没办法啊, 只有自己挤时间了,虽然是零基础,但是这并不能代表什么啦,只要努力,收获总还是有的, 同时我也相信广大的博友肯定也有 ...
- 【iOS系列】-UIScrollView的介绍及结合UIPageControl实现图片播放的实例
[iOS系列]-UIScrollView的介绍及结合UIPageControl实现图片播放的实例 第一:UIScrollView的常用属性 //表示UIScrollView内容的尺寸,滚动范围 @pr ...
- UI:UIScrollView、UIPageControl
一.UIScrollView的常⽤用属性 二.UIScrollView的常⽤用代理方法 三.UIPageControl的使⽤用 四.UIPageControl与UIScrollView的结合使⽤用 U ...
- iOS开发系列--App扩展开发
概述 从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互.它的出现让自定义键盘.系统分享集成等这些依靠系统服务的开发变成了可能.WWDC 2016上众多更 ...
- iOS开发系列--通知与消息机制
概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情.iOS中通知机制又叫消息机制,其包括两类:一类是本地 ...
- iOS开发系列--网络开发
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- iOS开发系列--让你的应用“动”起来
--iOS核心动画 概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建 ...
随机推荐
- Gson源码分析之Json结构抽象和注解使用
github上的博客地址: http://chuyun923.github.io/blog/2015/01/06/gsonyuan-ma-fen-xi/ XML和Json作为最常用的两种网络传输格式而 ...
- java基础之数组
数组的定义 数组的应用 1, 2, 3, 4,
- MySql Update Select 嵌套
UPDATE `TB_CM_Dic` SET `ParentID` = (SELECT `ID` FROM (SELECT * FROM `TB_CM_Dic`) AS B WHERE `DicNam ...
- Angular单页应用&AngularJS内部实现原理
回顾 自定义指令 登录后获取登录信息session 首先在登录验证的时候保存一个user 在学生管理页面中运用ajax调用获取到登录的用户信息 对注销按钮添加点击事件:调用ajax在表现层给user赋 ...
- Javascript进阶篇——总结--DOM案例+选项卡效果
断断续续的把慕课的JavaScript基础和进阶看完了,期间不怎么应用有的都忘记了,接下来多开始写些效果,进行实际应用. 制作一个表格,显示班级的学生信息. 1. 鼠标移到不同行上时背景色改为色值为 ...
- ashx ajax 与 自定义javascript函数
1.getUserPower为自定义javascript函数 获取权限 (1).ashx 处理程序的相对地址(必须是相对地址) (2).au 权限名称 (3).classname 类名 (4) ...
- document.cookie
概念相关: cookie是存于用户硬盘上的一个文件,对应一个域名,当浏览器再次访问这个域名时,便使用这个cookie. cookie 可以跨越一个域名下的多个网页,但不能跨越多个域名使用. cooki ...
- html5 百分比计算
这几天一直在看html5,看到了百分比的计算公式:目标元素的尺寸/上下文元素的尺寸=百分比尺寸.看到这个公式,有点懂,但是有不明白.对于目标元素很容易理解,但是对于上下文元素就不是很好理解了.试了一些 ...
- php的一些小笔记-文件函数(2)
---恢复内容开始--- copy 文件的复制 echo copy('test.php','test1.php'); 如果成功的返回true,反之返回false 如何在多层目录中复制文件呢?也就是根据 ...
- WordPress插件制作教程(四): 将数据保存到数据库
上一篇讲解了添加菜单的方法,这一篇为大家讲解如何将数据保存到数据库中,并且显示在页面上,不会因提交表单时刷新页面输入框中内容消失.要实现这一功能我们需要借助WordPress函数来实现,下面就来讲解具 ...