zoukankan      html  css  js  c++  java
  • 【iOS发展-53】实例探究:scrollView使用方法和解决方案无法滚动核心

    案例效果:



    (1)基本的就是练习scrollView的使用方法。界面里面的其它元素基本都是UIView和UIButton堆砌起来的。


    (2)主要用代码实现。当然,能够先用storyboard拖个scrollView出来。注意须要滚动的都须要放在scrollView,注意层级关系。


    (3)我们要在代码中使用设置这个scrollView所以直接拖拽形成一个变量,代码都在ViewController.m中:

    ——设置scrollView的最重要的三个属性例如以下,已用凝视标出。

    ——取得一个控件的最大最小X和Y值能够用方法CGRectGetMaxY等,但须要传递一个frame之类的參数。

    #import "ViewController.h"
    
    @interface ViewController ()
    @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
    @property (weak, nonatomic) IBOutlet UIButton *beHereBtn;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        //确定scrollView能滚动多大范围
        self.scrollView.contentSize=CGSizeMake(320,CGRectGetMaxY(self.beHereBtn.frame)+10);
        //在scrollView周边添加滚动区域
        self.scrollView.contentInset=UIEdgeInsetsMake(64, 0, 49, 0);
        //设置scrollView里的控件的移动位置
        self.scrollView.contentOffset=CGPointMake(0, -64);
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
    }
    
    @end

    (4)注意事项:一般出现无法滚动的情况。应该学会自我排查:

    ——检查一下是否忘记把这个控件定义成控件变量。

    ——有可能是布局了scrollView,可是忘记了设置它的contentSize属性。或者这个属性设置的太小。还没有scrollView的frame大,也会无法滚动。

    ——有可能是Auto Layout麻烦,能storyboard关闭此选项。


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    Visual Studio的调试技巧
    释放linux的buff/cache
    Markdown画各种图表
    通过 SSH 转发TCP连接数据
    Linux之间用SSH传输文件 一行命令实现
    C# 使用OpenCV在一张图片里寻找人脸
    C# AOP 面向切面编程之 调用拦截
    ES5中新增的Array方法详细说明
    使用json数据动态创建表格2(多次绘制第一次简化 var tr=tbody.insertRow();)
    动态创建表格1
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4746115.html
Copyright © 2011-2022 走看看