UIScrollView的使用】的更多相关文章

[原]Masonry+UIScrollView的使用注意事项 本文转载请注明出处 —— polobymulberry-博客园 1.问题描述 我想实现的使用在一个UIScrollView依次添加三个UITableView(tableView1.tableView2.tableView3).最后想达到的效果就像下图这样: 或者用这张图更形象点: 然后我的代码大概的样子 // 自定义了一个UIScrollView为ICScrollView // 在ViewController中添加到self.view…
UIScrollView的封装 效果 特点 1.用法简单,尺寸大小,随意设置位置 2.可以有多个数据源的数据,可以定制不通的界面(如同上图,一个有文字,一个没有文字) 3.能够实现点击事件 用法 1.从源代码中,将这几个文件考过来(ScrollViewImageProtocol.h 和 CustomImageView.h/.m 和ScrollImageView.h/.m)(没错就是五个文件) 2.所建的model要遵守一个协议ScrollViewImageProtoc.h的的协议,并实现其中的两…
// 实例化一个ScrollView    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    scrollView.backgroundColor = [UIColor redColor];        // 把ScrollView添加到self.view上    [self.view addSubview:scrollView];       …
@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //创建一个scrollview UIScrollView *_scrollview = [[UIScrollView alloc]init]; _scrollview.frame = CGRectMake(,,,); _scrollview.backgroundColor = [UIColor grayColor]; [self.view addS…
UIScrollView有一个BOOL类型的tracking属性,用来返回用户是否已经触及内容并打算开始滚动,我们从这个属性开始探究UIScrollView的工作原理: 当手指触摸到UIScrollView内容的一瞬间,会产生下面的动作: 拦截触摸事件 tracking属性变为YES 一个内置的计时器开始生效,用来监控在极短的事件间隔内是否发生了手指移动 case1:当检测到时间间隔内手指发生了移动,UIScrollView自己触发滚动,tracking属性变为NO,手指触摸下即使有(可以响应触…
我们继续之前的 Hypnosister 应用,当用户开始触摸的时候,圆形的颜色会改变. 首先,在 JXHypnosisView 头文件中声明一个属性,用来表示圆形的颜色. #import "JXHypnosisView.h" @interface JXHypnosisView () /** 颜色 */ @property (nonatomic,strong) UIColor * circleColor; @end @implementation JXHypnosisView - (in…
//contentSize.contentInset和contentOffset 是 scrollView三个基本的属性. // 滚动 self.ScrollView.contentSize =self.imageview.frame.size; //偏移X =0 Y =-74 向下偏移 self.ScrollView.contentOffset =CGPointMake(,-); // 边距 距离顶部74 左 0 下40 右0 self.ScrollView.contentInset = UI…
一.为什么要用UIScrollView? 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容普通的UIView不具备滚动功能,不适合显示过多的内容. UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 系统设置就是一个ScrollView: 二.基本使用: 将需要展示的内容添加到UIScrollView中设置UIScrollView的contentSi…
#import "ViewController.h" #define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width #define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height #define IMAGEVIEW_COUNT 3 @interface ViewController () <UIScrollViewDelegate> { UIScroll…
啦啦啦啦啦~~~ UINavigationController和UIScrollView一起使用时会导致UIScrollView位置偏移 情况:UINavigationController的视图上的第一个子视图为UIScrollView时 原理:由于状态条20px的高度加上导航条44px的高度,UIScrollView就会往下偏移64px的位置 解决方法:设置UIViewController的automaticallyAdjustsScrollViewInsets属性为NO…
一个UICollectionView有好多个cell,滑动一下,谁也不知道会停留在哪个cell,滑的快一点,就会多滑一段距离,反之则会滑的比较近,这正是UIScrollview用户体验好的地方. 如果想要UICollectionView停留到某个cell的位置,可以用 - (void)scrollToItemAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UICollectionViewScrollPosition)scrollPos…
UITableView或UIScrollVIew上的UIButton的高亮效果 原文地址:http://www.jianshu.com/p/b4331f06bd34 最近做项目的时候发现,UIScrollView上的UIButton点击的时候没有高亮状态,但是确实触发了点击事件,不过这样会造成一个假象,给用户看来UIButton没有被点击的感觉. 但是要是长时间点击的话,则会高亮.于是我发现,导致这种现象应该就是时间长短的问题.顺着这个问题想下去,就追寻到UIScrollView的touch原理…
当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容) 当用户在UIScrollView身上使用捏合手势时,UIScrollView会调用代理的viewForZoomingInScrollView:方法,这个方法返回的控件就是需要进行缩放的控件 缩放实现步骤 设置UIScrollView的id<UISCrollViewDelegate> delegate代理对象 设置minimumZoomScal…
一般情况下,就设置UIScrollView所在的控制器 为 UIScrollView的delegate 设置控制器为UIScrollView的delegate有2种方法: 通过代码(self就是控制器) self.scrollView.delegate = self; 通过storyboard拖线(右击UIScrollView) 然后,控制器应该遵守UIScrollViewDelegate协议 最后,实现协议中定义的相关方法…
在OC中,发送消息的意思就是调用方法 因此UIScrollView和delegate的通信可以理解为下图所示 再精确一点,UIScrollView和delegate的通信应该为下图所示 可以看出,要想成为UIScrollView的delegate,是有条件的,必须实现对应的方法才能监听UIScrollView的滚动过程 成为delegate的条件 UIScrollView将delegate需要实现的方法都定义在了UIScrollViewDelegate协议中,因此要想成为UIScrollView…
很多时候,我们想在UIScrollView正在滚动 或 滚动到某个位置 或者 停止滚动 时做一些特定的操作 要想完成上述功能,前提条件就是能够监听到UIScrollView的整个滚动过程 当UIScrollView发生一系列的滚动操作时, 会自动通知它的代理(delegate)对象,给它的代理发送相应的消息,让代理得知它的滚动情况 也就是说,要想监听UIScrollView的滚动过程,就必须先给UIScrollView设置一个代理对象,然后通过代理得知UIScrollView的滚动过程…
@property(nonatomic) BOOL bounces; 设置UIScrollView是否需要弹簧效果 @property(nonatomic,getter=isScrollEnabled) BOOL scrollEnabled; 设置UIScrollView是否能滚动 @property(nonatomic) BOOL showsHorizontalScrollIndicator; 是否显示水平滚动条 @property(nonatomic) BOOL showsVerticalS…
@property(nonatomic) CGPoint contentOffset; 这个属性用来表示UIScrollView滚动的位置 (其实就是内容左上角与scrollView左上角的间距值) @property(nonatomic) CGSize contentSize; 这个属性用来表示UIScrollView内容的尺寸,滚动范围(能滚多远) @property(nonatomic) UIEdgeInsets contentInset; 这个属性能够在UIScrollView的4周增加…
如果UIScrollView无法滚动,可能是以下原因: 没有设置contentSize scrollEnabled = NO 没有接收到触摸事件:userInteractionEnabled = NO … ……
UIScrollView的用法很简单 将需要展示的内容添加到UIScrollView中 设置UIScrollView的contentSize属性,告诉UIScrollView所有内容的尺寸,也就是告诉它滚动的范围(能滚多远,滚到哪里是尽头) UIScrollView显示内容的小细节 超出UIScrollView边框的内容会被自动隐藏 用户可以用过手势拖动来查看超出边框并被隐藏的内容…
移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限 当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容 普通的UIView不具备滚动功能,不适合显示过多的内容 UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 举例:手机上的“设置”…
contentOffset 默认CGPointZero,用来设置scrollView的滚动偏移量.       // 设置scrollView的滚动偏移量       scrollView.contentOffset = CGPointMake(0, 200);   2.   contentSize 默认CGSizeZero,用来设置scrollView的滚动范围.       // 设置scrollView的滚动范围       scrollView.contentSize = CGSizeM…
上一篇博客介绍了如何将XCode创立的项目提交到Git版本控制,这次就直接做一个图片轮播的展示demo,刚好可以把UIScrollView.UIPageControl.UIImageView这三个控件讲解分析一下.先上效果,这样比较直观. 从图中可以看到这个界面是由UIImageView 和 UITableView 组合而成.在这里UITableView的内容不作为本次讲解的重点,如果对UITableView的使用有疑问的,可以留言给我.下面就进入正题,在头文件创建几个变量. @interfac…
(1)常用属性: 1)@property(nonatomic)CGPointcontentOffset; 这个属性⽤用来表⽰示UIScrollView滚动的位置 2)@property(nonatomic)CGSizecontentSize;这个属性⽤用来表⽰示UIScrollView内容的尺⼨寸,滚动范围(能滚多远) 3)@property(nonatomic)UIEdgeInsetscontentInset; 这个属性能够在UIScrollView的4周增加额外的滚动区域 (2)其他属性:…
首先是层次问题, 我的storyboard中 底层是一个View(viewcontroller自带)上面添加了一个UIScrollview(添加约束, 上下左右全为0), 在UIScrollview上添加一个UITableView(添加约束: 上下左右全为0, 宽高分别为当前值, 做拖出宽高的约束, 添加到代码中, 设置可以改变他们的值) ①. 只有UIScrollview的情况, 这时只要把上面约束的宽高分别设下, 分别是[UIScreen mainScreen].bounds.size.wi…
•有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理 也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScrollView中 1.设置UIScrollView的id<UISCrollViewDelegate> delegate代理对象 2.设置minimumZoomScale :缩小的最小比例 3.设置maximumZoomScale :放大的最大比例 4.让代理对象实现下面的方法,返回需要缩放的视图控…
1•如果UIScrollView无法滚动,可能是以下原因: Ø没有设置contentSize ØscrollEnabled = NO Ø没有接收到触摸事件:userInteractionEnabled = NO Ø没有取消autolayout功能(要想scrollView滚动,必须取消autolayout)   2. •很多时候,我们想在UIScrollView正在滚动 或 滚动到某个位置 或者 停止滚动 时做一些特定的操作 • •要想完成上述功能,前提条件就是能够监听到UIScrollView…
首先创建一个引导图的控制器类 UserGuideViewController.h和UserGuideViewController.m #import <UIKit/UIKit.h> #import "firstViewController.h" #define WIDTH self.view.frame.size.width #define HEIGHT self.view.frame.size.height @interface UserGuideViewControll…
使用Storyboard编写UI,设置支持AutoLayout. 在其中的一个场景上,添加一个UIScrollView,在对应的代码里增加 - (void)viewDidLoad { [super viewDidLoad]; self.scrollView.contentSize = CGSizeMake(, ); } 调试,发现内容能显示,但是无法滚动. 经过网上搜索,发现是AutoLayout导致的问题.在支持AutoLayout后,系统会在ViewDidLoad之后,重新计算控件的一些值,…
UIScrollView表示可滚动的视图,它最主要的使用场景是让用户可以通过拖拽显示布置一屏的数据. 常用的属性或者方法有: frame:NSRect显示范围,小于屏幕尺寸的矩形区域: contentSize:内容大小,一般情况下contentSize的大小大于frame的大小(这也是可滚动的前提条件): bounces:是否允许弹动效果,又可以分别设置横向和纵向的弹动效果: pagingEnabled:是否开启分页效果,常见的图片滚动浏览就是开启了这个属性: contentOffset:偏移量…