首页 > 其他 > 详细

UIScrollView-----1基本使用

时间:2015-10-13 01:34:10      阅读:264      评论:0      收藏:0      [点我收藏+]

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代码,打开即可拖动

 1 #import "ViewController.h"
 2 
 3 @interface ViewController ()
 4 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
 5 
 6 @end
 7 
 8 @implementation ViewController
 9 
10 - (void)viewDidLoad {
11     [super viewDidLoad];
12     self.scrollView.contentSize = CGSizeMake(1440, 900);
13 }
14 
15 @end

 

例2 swift纯代码版  实现效果与上述一样

 1 import UIKit
 2 
 3 class ViewController: UIViewController {
 4     
 5     //滑动视图
 6     var scrollView = UIScrollView()
 7     //UIImageView
 8     var imageView = UIImageView()
 9     //UIImage
10     var image = UIImage(named: "gu")
11    
12     override func viewDidLoad() {
13         super.viewDidLoad()
14         //UIScrollView相关
15         scrollView.frame = self.view.frame
16         scrollView.backgroundColor = UIColor.redColor()
17         scrollView.contentSize = CGSizeMake(1440, 900)
18         self.view.addSubview(scrollView)
19         //UImageView相关
20         imageView.frame = CGRectMake(0, 0, 1440, 900);
21         imageView.image  = image;
22         scrollView.addSubview(imageView)
23     }
24     override func didReceiveMemoryWarning() {
25         super.didReceiveMemoryWarning()
26     }
27     
28 }

 

注意: 如果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代码

 

 1 #import "ViewController.h"
 2 
 3 @interface ViewController ()
 4 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
 5 @end
 6 
 7 @implementation ViewController
 8 
 9 - (void)viewDidLoad {
10     [super viewDidLoad];
11     self.scrollView.contentSize = CGSizeMake(1440, 900);
12 }
13 
14 - (IBAction)move:(id)sender {
15     CGPoint old = self.scrollView.contentOffset;
16     old.x += 50;
17     old.y += 50;
18 //   // 使用UIView动画
19 //    [UIView animateWithDuration:3.0 animations:^{
20 //        self.scrollView.contentOffset = old;
21 //    }];
22     //或者系统方法
23     [self.scrollView setContentOffset:old animated:YES];
24 }
25 @end

swift纯代码

 1 import UIKit
 2 
 3 class ViewController: UIViewController {
 4     
 5     //滑动视图
 6     var scrollView = UIScrollView()
 7     //UIImageView
 8     var imageView = UIImageView()
 9     //UIImage
10     var image = UIImage(named: "gu")
11     //按钮
12     var btn = UIButton(frame: CGRectMake(100, 100, 100, 100))
13     
14     override func viewDidLoad() {
15         super.viewDidLoad()
16         //UIScrollView相关
17         scrollView.frame = self.view.frame
18         scrollView.backgroundColor = UIColor.redColor()
19         scrollView.contentSize = CGSizeMake(1440, 900)
20         self.view.addSubview(scrollView)
21         //UImageView相关
22         imageView.frame = CGRectMake(0, 0, 1440, 900);
23         imageView.image  = image;
24         scrollView.addSubview(imageView)
25         //按钮相关
26         btn.setTitle("移动按钮", forState:UIControlState.Normal)
27         btn.setTitleColor(UIColor.blueColor(), forState:UIControlState.Normal)
28         self.view.addSubview(btn)
29         btn.addTarget(self, action:"move", forControlEvents:UIControlEvents.TouchUpInside)
30     }
31     
32     /**
33     移动画面
34     */
35     func move()->Void{
36         UIView.animateWithDuration(3.0) { () -> Void in
37             var old = self.scrollView.contentOffset
38             old.x += 50
39             old.y += 50
40             self.scrollView.contentOffset = old
41         }
42     }
43     
44 }

 

 

   

    

UIScrollView-----1基本使用

原文:http://www.cnblogs.com/gurongkang/p/4873374.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!