关于ScrollView无法滚动的解决方案

今天做了一个ScrollView的小例子(我的环境Xcode5 IOS7),结果发现无法滚动,即使设置了scrollView的contentSize还是不行,于是研究了一番,最终找到了解决方案:

在ios6之前,因为Xcode没有Autolayout的机制,所以直接使用scrollView,设置它的contentSize即可正常滚动
在ios6之后,因为Xcode引入了Autolayout的机制,所以我们设置的contentSize被修改为适合屏幕大小的值,也就是说自适应啦,因此无法滚动,解决方案如下:
直接去掉scrollView的Autolayout即可,但是这种方式不完美,毕竟Autolayout是官方推荐的,轻易去掉会引起其他问题,因此慎用。
在viewController中重载 - (void)viewDidAppear:(BOOL)animated 方法,并且设置contentSize,代码如下:
复制代码
1 #import "ImaginariumViewController.h"
2
3 @interface ImaginariumViewController ()
4 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
5 @property (weak, nonatomic) IBOutlet UIImageView *imageView;
6 @end
7
8 @implementation ImaginariumViewController
9
10 - (void)viewDidAppear:(BOOL)animated
11 {
12 [super viewDidAppear:animated];
13 self.scrollView.contentSize = self.imageView.image.size;
14 self.imageView.frame = CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height);
15 }
16
17 @end

关于ScrollView无法滚动的解决方案,布布扣,bubuko.com

时间: 2024-08-02 19:37:47

关于ScrollView无法滚动的解决方案的相关文章

Android ViewPager和ScrollView嵌套滚动问题解决方案

问题描述: 我的嵌套是ViewPager-->ScrollView-->ViewPager. 首先最里面的ViewPager水平滚动时总是会触发最外层的ViewPager滚动,看了网上很多的解决办法基本上是一样的,需要自定义ViewPager. import android.content.Context; import android.graphics.PointF; import android.support.v4.view.ViewPager; import android.util.

scrollview嵌套listview滚动冲突解决方案;

主activity页面: package com.example.scrollviewlistview; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; i

【iOS发展-53】实例探究:scrollView使用方法和解决方案无法滚动核心

案例效果: (1)基本的就是练习scrollView的使用方法.界面里面的其它元素基本都是UIView和UIButton堆砌起来的. (2)主要用代码实现.当然,能够先用storyboard拖个scrollView出来.注意须要滚动的都须要放在scrollView,注意层级关系. (3)我们要在代码中使用设置这个scrollView所以直接拖拽形成一个变量,代码都在ViewController.m中: --设置scrollView的最重要的三个属性例如以下,已用凝视标出. --取得一个控件的最大

[Android] Android最简单ScrollView和ListView滚动冲突解决方案

[Question]问题描述: 单独的ListView列表能自动垂直滚动,但当将ListView嵌套在ScrollView后,会和ScrollView的滚动滑块冲突,造成ListView滑块显示不完整. activity_main.xml表现: <?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/re

封装scrollView 循环滚动,tableViewCell(连载) mvc

封装 封装 封装 ... 封装的重要性太重要了 给大家在送点干货 从一个项目中抽取出来的,和大家一起分享 封装scrollView 循环滚动,tableViewCell(连载) 明天还会更新 tableView 的封装 使用了mvc 设计模式 代码如下: // // GPMainController.m #import "GPMainController.h" #import "GPAdsView.h" #import "GPSubViewCell.h&q

触摸点为scrollview上的子控件时,scrollview不能滚动(iOS8)

现象:在iOS8上,scrollview上面布局了多行多列的button,滑动scrollview,如果当触摸点是在按钮上,scrollview不能滚动. 例如: 解决方法:设置scrollview的panGestureRecognizer.delaysTouchesBegan为YES, scrollView.panGestureRecognizer.delaysTouchesBegan=YES; 关于这个问题,应该是和触摸事件的传递有关,继承自scrollview定tableview也会有这样

ScrollView循环滚动图片

涉及到banner页或者相册浏览,考虑到性能问题和用户体验性,经常要用到ScrollView循环滚动图片,在此只分析banner页,相册浏览类似: 设计思想: UIScrollView添加三个ImageView:firstImgView,secondImgView,thirdImgView. 当前每次显示的都是secondImgView,firstImgView显示前一张图片,thirdImgView显示后一张图片,若secondImgView显示的是第一张图片,则firstImgView显示最

监视scrollview是否滚动到底

//监视scrollview是否滚动到底 - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ [refreshHeaderViewegoRefreshScrollViewDidScroll:scrollView];//下拉刷新 CGPoint contentOffsetPoint = _tableView.contentOffset; CGRect frame = _tableView.frame; if (contentOffsetP

完美解决EditText和ScrollView的滚动冲突(上)

在网上搜了一下EditText和ScrollView的滚动冲突,发现差点儿全部的解决方式都是触摸EditText的时候就将事件交由EditText处理,否则才将事件交由ScrollView处理.这样确实初步攻克了两者之间的滚动冲突,但并非最好的解决方式.比方,EditText本来能够显示6行文本,可是眼下仅仅显示了5行文本,此时我们在EditText区域进行滑动并期望整个页面能够滚动,但因为我们将事件交给了EditText进行处理,所以页面并不能滚动,这种体验是极差的.事实上我们更希望当Edit