案例效果:

(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关闭此选项。

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

最新文章

  1. Golang语法与代码格式速记【转】
  2. WCF服务配置问题
  3. [oracle]数据库语言分类
  4. javascript中比较数字大小
  5. HTML布局与框架
  6. POJ 3903 Stock Exchange
  7. 转:Node.js软肋之CPU密集型任务
  8. 使用TensorFlow创建第变量定义和运行方式
  9. 在ASP.NET Core中构建路由的5种方法
  10. Shiro学习
  11. python中 __init__.py的例程
  12. Django 生成验证码或二维码 pillow模块
  13. JS事件委托应用场景
  14. spark 练习
  15. 1.网站js文件获取
  16. 20155321 《网络攻防》 Exp5 MSF基础应用
  17. webdriver简介及浏览器的驱动
  18. Flask从入门到精通之Flask表单渲染成HTML
  19. Tomcat的配置文件Server.xml解析
  20. 中间人攻击-ARP毒化

热门文章

  1. 「OC」 基本语法
  2. PHP学习笔记10-图片加水印
  3. (IOS)截图Demo
  4. Qt Creator error: LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  5. QComboBox 添加图片(自带addItem函数就有这个功能,从没有注意过)
  6. 工程脚本插件方案 - c集成Python基础篇(VC++嵌入Python)
  7. 强大的Mockito测试框架(转)
  8. 图的DFS递归和非递归
  9. STL front() ,back()和begin(),end()区别
  10. [置顶] ios 360度旋转效果demo