ios开发基础--滚动视图(UIScrollView)
来源:互联网 发布:高科技专利 知乎 编辑:程序博客网 时间:2024/06/05 03:26
滚动视图学习笔记(UIScrollView)
苹果的官方文档:Scroll View Programming Guide。
1、继承滚动视图的视图都可以具有滚动功能
如:UITableView UITtextView
2、滚动视图基本属性使用
contentSize :滚动区域大小,如某图片大小,多个分页的大小总和。
contentOffset : 滚动的初始原点。
contentEdgeinsets : 偏移量(可以移动出边界多远,四边默认为0,)
pagingEnable : 支持分页(可以按分页形式滑动,布尔值)
bounce : 弹片功能(分页时最好取消,否则可能看得到父视图的底层图)
使用Swift练习Scroll视图的使用,对加载图片的滑动查看
代码截图:
使用Scrollview和PageContolview实现效果(Object-C)
首先在IB中拖入这两个视图(不能将页控制器拖入到滑动视图,他们应该是平等层级关系),
映射到对应的视图控制器中
记得需要把UIScrollViewDelegate(参考下面的代理介绍)加入,以方便滑动时,改变页控制控件的值。
#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOutlet UIScrollView *scroll;@property (weak, nonatomic) IBOutlet UIPageControl *page;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; self.automaticallyAdjustsScrollViewInsets=NO; self.scroll.backgroundColor = [UIColor greenColor]; self.scroll.contentInset = UIEdgeInsetsMake(0, 0, 5, 10); self.scroll.showsVerticalScrollIndicator = NO;//设置旁边显示条 self.scroll.showsHorizontalScrollIndicator = NO;//设置水平显示条 self.scroll.scrollEnabled=YES; _scroll.pagingEnabled = YES;//支持分页,如果不设置,滑动是随意的。 self.scroll.bounces = NO;//弹簧效果(分页建议取消,可以避免由于滑动过度导致出现底层视图) _scroll.delegate = self; //准备好2个页 UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 375, 298)];//注意这里的位置是相对与父视图ScrollView的位置,不是相对于屏幕。。。刚开始理解错啦 view1.backgroundColor = [UIColor orangeColor]; UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(375, 0, 375, 298)]; view2.backgroundColor = [UIColor yellowColor]; [_scroll addSubview:view1]; [_scroll addSubview:view2]; _scroll.contentSize = CGSizeMake(self.scroll.frame.size.width*2, 298);//等下试试大小(主要是宽度)可不可以改变 self.page.currentPage = 0; self.page.numberOfPages = 2;//总用两页}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}-(void) prepareTwoView{}#pragma ScrollViewDelegate//实现代理-(void)scrollViewDidScroll:(UIScrollView *)scrollView{ NSLog(@"完成滚动,观察是否改变"); //[learn]怎么计算当前页值 偏移的x值除以宽度, int index = fabs(self.scroll.contentOffset.x)/scrollView.frame.size.width; self.page.currentPage = index;}@end
效国图如下:
3、可以使用UIScrollView的代理实现捏合缩放
若要使用,当前视图应遵守UIScrollViewDelegate代理协议,并设置代理属性(self.scrollView.delegate=self)
详细实现见:
:宏创学院 » UIScrollView滚动视图:2-代理
4、【扩展】缩放图片位置如何显示在中间、缩放图片横竖屏效果最佳、实现双击缩放、UIScrollView的嵌套使用(相同方向,相反方向,交叉方向)
地址链接
0 0
- ios开发基础--滚动视图(UIScrollView)
- iOS开发滚动视图UIScrollView
- iOS滚动视图(UIScrollView)
- iOS开发之 滚动视图 + 页面控件(UIScrollView + UIPageControl)
- UIScrollView 滚动视图—IOS开发
- UIScrollView 滚动视图—IOS开发
- UIScrollView 滚动视图—IOS开发
- UIScrollView 滚动视图—IOS开发
- UIScrollView 滚动视图—IOS开发
- UIScrollView 滚动视图—IOS开发
- UIScrollView 滚动视图—IOS开发
- iOS滚动视图UIScrollView
- iOS开发-------滚动视图(UIScrollView)并实现循环滚动
- iOS 滚动视图(UIScrollView) UIPageControl
- 滚动视图(UIScrollView)
- iOS滚动视图UIScrollView使用方法
- iOS开发>>>UIScrollView滚动条视图的使用
- IOS开发之----UIScrollView滚动条视图的使用
- Spring Data Jpa基础入门(删改查)
- 部署开发常用工具
- Codeforces Round #337 (Div. 2) D. Vika and Segments
- QTableView中 允许编辑 item 编辑时候显示SpinBox
- 配置tomcat节点启动
- ios开发基础--滚动视图(UIScrollView)
- 通过HTML5和WebGL来制作2D游戏
- 谈谈对Spring IOC的理解
- 添加、显示表情图片
- 泛型 简谈
- maven部署web项目到weblogic中
- 触发Full GC执行的情况 JVM对象分配规则
- 自己实现一个右滑删除的ListView, SwipeMenuListView
- [PHP代码] 用php的fsocket模拟get提交 模拟post提交表单