UIScrollView-----1基本使用
2015-10-13 01:07
627 查看
1.什么是UIScrollView
移动设备的屏幕大小是有限的,当显示的内容较多的时候,无法全部展示完,可以通过手指滑动的方式查看其他的,这个就是UIScrollVieW
2.UIScrollView基本使用
(1)需要将展示的内容添加到UIScrollView中
(2)设置UIScrollView的contentSize属性,告诉UIScrollView的滚动范围
例1 OC语言
新建项目,在storyboard中不勾选autoLayout 和sizeclasses
然后拖入UIScrollView, 在UIScrollView中拖入ImageView,他们大小和控制器视图一样,铺满屏幕,为UIImageView设置图片,我找的素材
是1440*900的,设置UIImageView尺寸为1440*900;
oc代码,打开即可拖动
例2 swift纯代码版 实现效果与上述一样
注意: 如果UIScrollView无法滚动
(1)检查contenSize设置
(2)是否将属性scrollEnabled = NO
(3)没有接收到触摸事件:userInteractionEnabled = NO
(4)autolayout打开
3.UIScrollView的常见属性和方法
(1)contentofffset CGPoint 类型 UIScrollView滚动起始位置,像frame中x,y
(2)contentSize CGSize类型 滚动范围
(3)contentInset UIEdgeInsets类型 在滚动范围周围在加一层
他们之间的关系是这样的
利用上述属性做一个Demo,在例1的基础上加一个UIButton,点击的时候使得图片可以滚动
oc+storyBoard代码
swift纯代码
移动设备的屏幕大小是有限的,当显示的内容较多的时候,无法全部展示完,可以通过手指滑动的方式查看其他的,这个就是UIScrollVieW
2.UIScrollView基本使用
(1)需要将展示的内容添加到UIScrollView中
(2)设置UIScrollView的contentSize属性,告诉UIScrollView的滚动范围
例1 OC语言
新建项目,在storyboard中不勾选autoLayout 和sizeclasses
然后拖入UIScrollView, 在UIScrollView中拖入ImageView,他们大小和控制器视图一样,铺满屏幕,为UIImageView设置图片,我找的素材
是1440*900的,设置UIImageView尺寸为1440*900;
oc代码,打开即可拖动
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIScrollView *scrollView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.scrollView.contentSize = CGSizeMake(1440, 900); } @end
例2 swift纯代码版 实现效果与上述一样
import UIKit class ViewController: UIViewController { //滑动视图 var scrollView = UIScrollView() //UIImageView var imageView = UIImageView() //UIImage var image = UIImage(named: "gu") override func viewDidLoad() { super.viewDidLoad() //UIScrollView相关 scrollView.frame = self.view.frame scrollView.backgroundColor = UIColor.redColor() scrollView.contentSize = CGSizeMake(1440, 900) self.view.addSubview(scrollView) //UImageView相关 imageView.frame = CGRectMake(0, 0, 1440, 900); imageView.image = image; scrollView.addSubview(imageView) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
注意: 如果UIScrollView无法滚动
(1)检查contenSize设置
(2)是否将属性scrollEnabled = NO
(3)没有接收到触摸事件:userInteractionEnabled = NO
(4)autolayout打开
3.UIScrollView的常见属性和方法
(1)contentofffset CGPoint 类型 UIScrollView滚动起始位置,像frame中x,y
(2)contentSize CGSize类型 滚动范围
(3)contentInset UIEdgeInsets类型 在滚动范围周围在加一层
他们之间的关系是这样的
利用上述属性做一个Demo,在例1的基础上加一个UIButton,点击的时候使得图片可以滚动
oc+storyBoard代码
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIScrollView *scrollView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.scrollView.contentSize = CGSizeMake(1440, 900); } - (IBAction)move:(id)sender { CGPoint old = self.scrollView.contentOffset; old.x += 50; old.y += 50; // // 使用UIView动画 // [UIView animateWithDuration:3.0 animations:^{ // self.scrollView.contentOffset = old; // }]; //或者系统方法 [self.scrollView setContentOffset:old animated:YES]; } @end
swift纯代码
import UIKit class ViewController: UIViewController { //滑动视图 var scrollView = UIScrollView() //UIImageView var imageView = UIImageView() //UIImage var image = UIImage(named: "gu") //按钮 var btn = UIButton(frame: CGRectMake(100, 100, 100, 100)) override func viewDidLoad() { super.viewDidLoad() //UIScrollView相关 scrollView.frame = self.view.frame scrollView.backgroundColor = UIColor.redColor() scrollView.contentSize = CGSizeMake(1440, 900) self.view.addSubview(scrollView) //UImageView相关 imageView.frame = CGRectMake(0, 0, 1440, 900); imageView.image = image; scrollView.addSubview(imageView) //按钮相关 btn.setTitle("移动按钮", forState:UIControlState.Normal) btn.setTitleColor(UIColor.blueColor(), forState:UIControlState.Normal) self.view.addSubview(btn) btn.addTarget(self, action:"move", forControlEvents:UIControlEvents.TouchUpInside) } /** 移动画面 */ func move()->Void{ UIView.animateWithDuration(3.0) { () -> Void in var old = self.scrollView.contentOffset old.x += 50 old.y += 50 self.scrollView.contentOffset = old } } }
相关文章推荐
- UIButton 按钮控件-IOS开发
- AmazeUI定制
- 3.uedit富文本编辑器的使用_note
- solrcloud随笔DistributedQueue
- android高分段进阶攻略(3)旋转等待UI界面设计
- iOS UITableView下拉刷新上拉加载更多MJRefresh类库(推荐)使用初级剑侠篇(欢迎提建议和分享遇到的问题)
- iOS编程------UIAlertController
- 开源中国源码学习UI篇(三)之ViewPager+Fragment的使用分析
- 【IOS 开发学习总结-OC-44】★★ios开发之UI控件——文本框与多行文本控件(彩蛋——上拉刷新一般实现代码)
- iOS的UINavigationController简单使用入门(状态:已完成)
- 最长公共子序列(Longest Common Subsequence,LCS)
- Android UI 设计:ListView控件和ArrayAdapter适配器(二)
- Android UI设计:ListView 控件与 Adapter 适配器
- 理解UIEdgeInsets
- leetcode之Implement Stack using Queues
- (key,value)对value进行排序
- Android官方API Guide学习之一 Android介绍-基础知识
- ios UISearchDisplayController 实现 UITableView 搜索功能
- ZOJ 3911 Prime Query
- LightOJ 1427 Substring Frequency (II)(ac自动机水题)