你有没有遇到过这样的情况:

对于ScrollView的不能上下滑动,设置了以下代码:

_scrollViewTitle=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, kWidth, TitleHeight)];

_scrollViewTitle.contentSize = CGSizeMake(_titleArray.count*btnWidth, 0);

可是....ScrollView仍然能够滑动...你一定检查了创建和设置ScrollView的代码很多遍,还是发现不了问题..哈哈,我也一样...

其实解决方法很简单: 看代码:

- (void)initcategroyScrollView{

    self.automaticallyAdjustsScrollViewInsets = NO;
_scrollViewTitle = [[UIScrollView alloc]initWithFrame:CGRectMake(, , kWidth, TitleHeight)];
_scrollViewTitle.delegate = self;
_scrollViewTitle.tag = ;
_scrollViewTitle.bounces = NO;
_scrollViewTitle.backgroundColor = [UIColor greenColor];
_scrollViewTitle.showsVerticalScrollIndicator = YES;
_scrollViewTitle.showsHorizontalScrollIndicator = YES;
_scrollViewTitle.alwaysBounceVertical = NO; // 默认是NO
_scrollViewTitle.directionalLockEnabled =YES;//禁止同时左右和上下滚动
[self.view addSubview:_scrollViewTitle];
_scrollViewTitle.contentSize = CGSizeMake(_titleArray.count*btnWidth, );
for (int i = ; i < _titleArray.count; i++) {
UIButton*btn = [[UIButton alloc]initWithFrame:CGRectMake(btnWidth*i, , btnWidth, TitleHeight)];
[btn setBackgroundColor:[UIColor whiteColor]];
btn.tag =+i;
btn.enabled = NO;
[btn setTitle:_titleArray[i] forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
[_scrollViewTitle addSubview:btn];
if (i==) {
_index=+i;
[btn setTitleColor:Main_Color forState:UIControlStateNormal];
}
}
_lineView = [[UIView alloc]initWithFrame:CGRectMake(, TitleHeight-, btnWidth, )];
_lineView.tag=;
_lineView.backgroundColor = [UIColor redColor];
[_scrollViewTitle addSubview:_lineView];
}

总结:

设置代码 self.automaticallyAdjustsScrollViewInsets = NO;即可

  • automaticallyAdjustsScrollViewInsets是ViewController的一个属性,指示VIewController是否需要自动调整ScrollViewInsets。
  • 默认值为YES,允许ViewController自动调整ScrollViewInsets ##VC对ScrollView的调整
  • 当automaticallyAdjustsScrollViewInsets值为YES时,viewController根据当前view中statusBar,navigaionTionBar,toolBar或者toolBar来自动调整scrollView的的contentInset和ContentOffset。使得scrollView的内容不会被这些Bar遮挡

其实还是不怎么懂automaticallyAdjustsScrollViewInsets和scrollView的滑动有啥关系呢???有懂的大神留言告诉我哟..很感谢...嘿嘿

ScrollView设置了ContentSize高度为0,仍然能滑动的问题的更多相关文章

  1. 有两种分别用<bgsound>和<embed></embed>标签,当用<embed>插入背景音乐时可以设置宽度和高度为0,隐藏播放器。

     <bgsound>: <bgsound> 是用来插入背景音乐,但只适用于 ie,其参数设定不多.如下 <bgsound src="your.mid" ...

  2. 实现ScrollView中包含ListView,动态设置ListView的高度

    ScrollView 中包含 ListView 的问题 : ScrollView和ListView会冲突,会导致ListView显示不全 <?xml version="1.0" ...

  3. js不需要知道图片宽高的懒加载方法(经过实际测试,不加宽高仍然是无法正常加载的,设置height:auto,height:100%,仍然显示高度为0)

    js不需要知道图片宽高的懒加载方法 懒加载是如何实现的? - 简书https://www.jianshu.com/p/e86c61468285找到一个不需要知道图片宽高的懒加载方法了(经过实际测试,不 ...

  4. ScrollView子控件高度设置无效

    ScrollView子控件高度设置无效 简述 项目中引入了第三方的下拉刷新包PullToRefreshScrollView. 由于我之前布局未考虑下拉刷新功能.后来暂时发现添加上去,发现.子控件的高度 ...

  5. 小程序给scroll-view设置高度,使得它能适配各种尺寸的手机

    scroll-view占满整个屏幕,且scroll-view的滚动不影响到页面其他地方的滚动 在iphone6的尺寸下,scroll-view设置高度为1110rpx,就不会影响页面其他地方的滚动 但 ...

  6. js 获取滚动条的高度 以及 设置滚动条的高度

    //设置窗口滚动条高度 function setScrollTop(top){ if(!isNaN(top))document.body.scrollTop = top; } //取窗口滚动条高度 f ...

  7. 设置UILabel可变高度(根据文本内容自动适应高度)

    @property(nonatomic)UILabel *showLabel;   // 计算文本所占高度,计算出来之后设置label的高度 // 第一个参数:字体大小,字体大小/样式影响计算字体的高 ...

  8. 百度ueditor上传图片时如何设置默认宽高度

    百度ueditor上传图片时如何设置默认宽高度 一.总结 一句话总结:直接css或者js里面限制一下就好,可以用html全局限制一下图片的最大高度 直接css或者js里面限制一下就好,可以用html全 ...

  9. css浮动中避免包含元素高度为0的4种解决方法

    问题:当子元素中使用了float时,如果其父元素不指定高度,其高度将为0 解决:清除(闭合)浮动元素,使其父div高度自适应 方法一:额外标签+clear:both     (W3C推荐方法,兼容性较 ...

随机推荐

  1. 【转】关于 Ruby 解释器:一些你需要知道的

    关于 Ruby 解释器:一些你需要知道的 原文:Ruby Interpreters: What You Need to Know 使用正确的 Ruby 解释器来运行程序可以发挥重要作用,不幸的是很难找 ...

  2. 第六章 组件 56 组件-组件中的data

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  3. ssh客户端命令

  4. java中的“指针”

    java中的"指针" 通常我们说java中没有指针,但是java中的"引用"就相当于指针,只是不称为指针而已. 错误例子 public List<Clus ...

  5. 数据库连接windows身份验证、sql验证

    windows身份验证:"server=.;database=Northwind;Integrated Security=True;" sql验证:"server=.;d ...

  6. vueCli和脚手架

    vue CLI相当于一个基于vue开发的框架:可以用来快速开发vue项目:   1.安装 由于需要用到npm命令,所以要先安装node.js:     node.js下载地址:https://node ...

  7. 获取网卡速率,cpu使用率

    ];//获取网卡名称 PerformanceCounter NetworkR = new PerformanceCounter("Network Interface", " ...

  8. vue-cli3项目中引入jquery 以及如何引进bootstrap

    1.安装jquery npm install jquery --save 2.或则在package.json中指定版本号,然后运行npm install命令 "dependencies&qu ...

  9. CodeForces–833B--The Bakery(线段树&&DP)

    B. The Bakery time limit per test 2.5 seconds memory limit per test 256 megabytes input standard inp ...

  10. 使用powershell管理域用户

    在域内环境中,常常需要使用命令行管理域用户,此时可以使用Active Directory中的命令行工具Dsquery.exe,或CSVE,以及Ldifde等,其实,使用Windows Powershe ...