IOS笔记之UIKit_UIScrollView
//通过系统的一个接口 拿到是不是第一次启动这个程序 如果是就调用导航页 如果不是 直接进入下一个视图
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if([userDefaults objectForKey:@"FirstLoad"] == nil)
{
[userDefaults setBool:NO forKey:@"FirstLoad"];
//显示导航页
NSLog(@"显示导航页");
view.isFirstLoad = YES;
}
else
{
NSLog(@"不是第一次启动 不再显示");
view.isFirstLoad = NO;
}
-(void)welcome{
if (self.isFirstLoad==YES) {
//如果是第一次启动 调用引导页
[self creatView];
}
}
#pragma mark - 创建滚动视图
-(void)createUIScrollView
{
//实例化滚动视图
self.scrollView = [[UIScrollView alloc] init];
//位置和大小
self.scrollView.frame = CGRectMake(0, 0,320, 568);
//设置滚动视图的滚动范围
self.scrollView.contentSize =CGSizeMake(SCROLL_W*6, SCROLL_H);
//设置是否开启分页显示
self.scrollView.pagingEnabled = YES;
//设置拖拽的弹簧效果
self.scrollView.bounces =NO;
//设置委托
self.scrollView.delegate = self;
//添加到父视图上
[self.view addSubview:self.scrollView];
//载入图片
for(int i = 0 ; i < 6 ; i++)
{
//UIImageView显示图片
UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i+1]]];
//设置每一个imgView的frame
imgView.frame = CGRectMake(SCROLL_W*i , 0, SCROLL_W, SCROLL_H);
//把imgView添加到scrollView上
[self.scrollView addSubview:imgView];
//设置label显示滚动到哪一个视图
self.titleLabel = [[UILabel alloc]init];
self.titleLabel.text = [NSString stringWithFormat:@"%d",i];
self.titleLabel.frame = CGRectMake(0, 24, 320, 30);
self.titleLabel.backgroundColor = [UIColor redColor];
self.titleLabel.font = [UIFont systemFontOfSize:20];
self.titleLabel.textAlignment = NSTextAlignmentCenter;
self.titleLabel.layer.cornerRadius = 7;
self.titleLabel.alpha = 0.5;
[imgView addSubview:self.titleLabel];
}
}
#pragma mark - 拿到当前滚动视图页码
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"%f",scrollView.contentOffset.x);
//只要大于960即可跳转
if(scrollView.contentOffset.x > 960)
{
//跳转了
TRSubViewController *svc = [[TRSubViewController alloc] initWithNibName:@"TRSubViewController" bundle:nil];
[self presentViewController:svc animated:YES completion:nil];
}
}
#pragma mark - 载入视图
- (void)viewDidLoad
{
[super viewDidLoad];
[self createUIScrollView];
}
#pragma mark - 状态监测的方法
//用户手指在屏幕上向某个方向上拖动
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
NSLog(@"水平或竖直方向上拖动");
}
//当用户抬起拖动的手指时调用该方法
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
//告知一个BOOL类型的值,告诉你滚动视图最后的位置前,是否需要减速。
NSLog(@"拖动结束");
}
//完成缩放
-(void)scrollViewDidZoom:(UIScrollView *)scrollView
{
NSLog(@"完成缩放");
}
//就是当用户的手指已经从屏幕上移开而视图需要继续
//移动时调用这个方法。contentoffset属性 能够拿到
//用户手指抬起前 最后一次滚动的位置。
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
NSLog(@"将要停止的时候调用");
}
//当滚动视图停止滚动了得到一个通知。滚动视图就用
//用contentOffset属性 反映出滚动视图的最终的位置。
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
NSLog(@"offset.x = %f",scrollView.contentOffset.x);
}
//会在滚动视图开始滚动的时候调用。从scrollView读取contentoffset 确定滚动视图滚动到位置。
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"offset.x = %f",scrollView.contentOffset.x);
}
-(void)scrollViewDidScrollToTop:(UIScrollView *)scrollView
{
NSLog(@"滚动到头");
}
IOS笔记之UIKit_UIScrollView的更多相关文章
- 荼菜的iOS笔记--UIView的几个Block动画
前言:我的第一篇文章荼菜的iOS笔记–Core Animation 核心动画算是比较详细讲了核心动画的用法,但是如你上篇看到的,有时我们只是想实现一些很小的动画,这时再用coreAnimation就会 ...
- IOS笔记 1
< ![CDATA[ 笔记 UIWindows 与UIView的关系iOS的坐标系统视图层次结构视图坐标(Frame和Bounds区别)UIView的常用属性和方法坐标系统的变换UIView内容 ...
- 【转】iOS笔记-自定义控件(OC)
原文网址:http://www.jianshu.com/p/f23862eb7b8a 导读: iOS开发中,很多时候系统提供的控件并不能很好的满足我们的需求,因此,自定义控件便成为搭建UI界面中必不可 ...
- iOS笔记———数据存储
应用沙盒:应用文件系统的根目录,每个应用都有独自的沙盒相互:在xcode中可以用NSHomeDirectory()函数,打印当前应用的沙盒根路径. 应用程序包:包含了所有资源文件和执行文件; * Do ...
- Xamarin开发IOS笔记:切换输入法时输入框被遮住
在进行IOS开发的过程中,出现类似微信朋友圈的交互界面,当用户遇到感兴趣的内容可以进行评论.为了方便评论输入,当出现评论输入框的时候自动将评论输入框移动至键盘的上方,这样方便边输入边查看. 当用户隐藏 ...
- 【IOS笔记】Delegation
Delegation Delegation is a simple and powerful pattern in which one object in a program acts on beha ...
- 【IOS笔记】Event Delivery: The Responder Chain
Event Delivery: The Responder Chain 事件分发--响应链 When you design your app, it’s likely that you want t ...
- 【IOS笔记】Gesture Recognizers
Gesture Recognizers Gesture recognizers convert low-level event handling code into higher-level acti ...
- 【IOS笔记】About Events in iOS
About Events in iOS Users manipulate their iOS devices in a number of ways, such as touching the scr ...
随机推荐
- vbs脚本要求在cmd中输入输出用StdIn ,StdOut
Dim StdIn, StdOutSet StdIn = WScript.StdInSet StdOut = WScript.StdOut Do While Not StdIn.AtEndOfStre ...
- sql日期函数操作
sql语句获取本周.本月.本年数据 SQL Serverselect * from [data] where DATEPART(m,[date])=2 Accessselect * from [da ...
- JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
一.Iframe 篇 公共部分 //父对象得到子窗口的值 //ObjectID是窗口标识,ContentID是元素ID function GetValue(ObjectID,ContentID) { ...
- PCI Express(一)- Connector
在FPGA4FUN上看到一篇介绍PCI-E的帖子,简单易懂,适合入门,特地搬过来 原文地址:http://www.fpga4fun.com/PCI-Express.html 前言: As PCI Ex ...
- java 标识符命名规则
标识符:就是给类,接口,方法,变量等起名字. 组成规则: A:英文字母大小写 B:数字字符 C:$和_ 注意事项: A:不能以数字开头 B:不能是Java中的关键字 C:Java语言严格区分大小写 包 ...
- 点击弹出固定大小的新窗口(js实现)
<SCRIPT LANGUAGE="javascript"> <!-- window.open ('page.html') --> </SCRIPT& ...
- 指针的指针&指向指针数组的指针
一.指针的指针 指针的指针看上去有些令人费解.它们的声明有两个星号.例如: char ** cp; 如果有三个星号,那就是指针的指针的指针,四个星号就是指针的指针的指针的指针 ...
- 进阶篇:以IL为剑,直指async/await
接上篇:30分钟?不需要,轻松读懂IL,这篇主要从IL入手来理解async/await的工作原理. 先简单介绍下async/await,这是.net 4.5引入的语法糖,配合Task使用可以非常优雅的 ...
- 2016.02.14 总结JS事件
今天主要总结JS事件的基本知识以及使用技巧,并作出相应的DEMO.
- [python] python 中的" "和' '都是完全转义
dict = {"a" : "apple", "b" : "banana", "g" : " ...