UITableView/UIScrollView内容视图下移

先来看看,普通控制上添加一个UITableView的情况:(设置tableView的背景颜色为蓝色)

再来看看实现的代码:

UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width,self.view.bounds.size.height)];

[self.view addSubview:tableView];

self.tableView = tableView;

self.tableView.backgroundColor =
[UIColor blueColor];

self.tableView.delegate = self;

self.tableView.dataSource = self;

此时,设置的frame的y明明是0,但是,实际看到的tableViewframe确实是在0位置上(有背景蓝色),但是,它的contentInset的top方向上为64。内容视图向下移动了64,这是为什么呢?

经过百度和google之后,了解到,从ios7以后,控制器有了一个新的属性,automaticallyAdjustsScrollViewInsets, 默认是YES,如果视图里面存在唯一一个UIScorllView或其子类view,那么,它会自动设置相应的内边距,这样可以让scorll占据整个视图,又不会让导航栏遮盖。

如果,我们手动将automaticallyAdjustsScrollViewInsets设置为NO, 这时候看到的情况是:

此时代码:

self.automaticallyAdjustsScrollViewInsets = NO;

UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width,self.view.bounds.size.height)];

[self.view addSubview:tableView];

self.tableView = tableView;

self.tableView.backgroundColor =
[UIColor blueColor];

self.tableView.delegate = self;

self.tableView.dataSource = self;

现在,它不会自动自动调整内边距了。

时间: 2024-11-06 05:43:33

UITableView/UIScrollView内容视图下移的相关文章

IOS开发中UITableView(表视图)的性能优化及自定义Cell

IOS开发中UITableView(表视图)的滚动优化及自定义Cell IOS 开发中UITableView是非常常用的一个控件,我们平时在手机上看到的联系人列表,微信好友列表等都是通过UITableView实现的.UITableView这个控件中的列表的每一行是一个cell,当UITableView中cell数量特别大的时候,由于每次都需要alloc分配内存并初始化,会导致app运行不流畅,所以可以使用苹果提供的几个方法进行优化,我把这个过程记录下来供自己以后查阅. 当然,既然说到优化,那我们

UITableView/UIScrollView 不能响应TouchBegin 的处理 及窥见 hitTest:withEvent:

重写touchBegin 方法是不行的,在UITableView/UIScrollView 解决方案 重写hitTest:withEvent:  在他们的子类中 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { static UIEvent *e = nil; if (e != nil && e == event) { e = nil; return [super hitTest:point withEvent:

iOS开发 iOS7显示偏差(UITableView, UIScrollView下移)解决办法

之前碰到过一个问题. 就是利用storyboard拖动出来的控件, 在iOS7上跑老是莫名的下移. 比如这样(红色区域为多余的) 解决办法: iOS7在Conttoller中新增了这个属性: automaticallyAdjustsScrollViewInsets,当设置为YES时(默认YES),如果视图里面存在唯一一个UIScrollView或其子类View,那么它会自动设置相应的内边距,这样可以让scroll占据整个视图,又不会让导航栏遮盖. 我们设置automaticallyAdjusts

UIScrollVIew 滚动视图内容总结

1 - (void)viewDidLoad 2 3 { 4 5 [super viewDidLoad]; 6 7 // Do any additional setup after loading the view. 8 9 10 11 // 滚动视图 12 13 UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(20, 20, 280, 440)]; 14 15 scrollView.backgro

UIScrollView(滚动视图)和(UIPageController)页面控制器+ 定时器的使用

////  Teacher_ViewController.m//  友家家教////  Created by 邹贤 on 15/7/28.//  Copyright (c) 2015年 友家科技公司. All rights reserved.// #import "Teacher_ViewController.h" #import "ArtViewController.h" #import "PrimaryViewController.h" #i

使用UITableView实现树视图

本文的目的,是研究有没有可能在一个TableView中呈现树形数据,尤其是树形菜单.众多的网络资料都强调,Cocoa框架不支持树形视图,苹果推荐程序员使用TableViewController+NavigationController的方式展现树形菜单.如果2-3层的树形数据还可以忍受,万一层次稍多一点,必须反复的用导航按钮在视图中转来转去,显然并不太方便.何况笔者认为2-3层的导航也要切换多次视图,也是一种浪费. 一.搭建基本框架 1 二.实现树节点 2 三.实现树 3 四.实现TreeVie

【swift_3】swift之UITableView和UINavigation视图控制器

Demo:链接: http://download.csdn.net/download/riven_wn/9401961 AppDelegate [objc] view plain copy var window: UIWindow? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { var VC = 

UIScrollView内容缩放

•有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理 也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScrollView中 1.设置UIScrollView的id<UISCrollViewDelegate> delegate代理对象 2.设置minimumZoomScale :缩小的最小比例 3.设置maximumZoomScale :放大的最大比例 4.让代理对象实现下面的方法,返回需要缩放的视图控

UIScrollView 滚动视图的方法总结

UIScrollView的属性总结 属性 作用 CGPoint contentOffSet-------------------------- 监控目前滚动的位置 CGSize contentSize------------------------------ 滚动范围的大小 UIEdgeInsets contentInset--------------------- 视图在scrollView中的位置 id<UIScrollerViewDelegate> delegate------ 设置协