调整大小uiscrollview contentSize,不能应用新值
我想在运行时调整我的滚动视图的内容大小。我可以做到这一点,如果我真的自己设置值,但是当我尝试赋予新值后做最后一个对象的计算它不工作3!我猜这是因为我没有正确设置我的int。任何帮助总是赞赏家伙调整大小uiscrollview contentSize,不能应用新值
这工作:
[scroller setContentSize: CGSizeMake(scroller.frame.size.width ,scroller.frame.size.height*2)];
不工作:
int newHeight=textViewRect.origin.y+textViewRect.size.height+5;
[scroller setContentSize: CGSizeMake(scroller.frame.size.width ,newHeight)];
编辑:
CGRect textViewRect=textView.frame;
textViewRect=CGRectMake(textViewRect.origin.x, textViewRect.origin.y, textViewRect.size.width, textViewRect.size.height);
也许这:
那份newHeight值错了与viewDidLoad方法中的事实有什么关系?
感谢您的帮助
我所做的是子类uiwebview使用它作为textView。将数据传递给我的子类后,我将其加载到Web视图中,一旦加载,然后将其框架调整为webViewDidFinishLoading方法中的内容大小。
因为这个原因,文本视图被添加到视图之前有几毫秒的延迟,这意味着我得到的值是0.为了解决这个问题,我添加了一个委托方法给我的子类来通知我当它完成加载时。一旦它完成加载我然后相应地调整contentSize。
将断点过线
int newHeight=textViewRect.origin.y+textViewRect.size.height+5;
并找到newHeight
值。如果该值小于scroller
的高度,则无法滚动。
我很困惑,为什么我需要一个断点?我认为我的问题是int的分配不正确 – d4ndym1k3 2012-01-03 11:47:45
通常使用断点来查找每个语句中的值。您也可以使用'NSLog'来查找值。 – Ilanchezhian 2012-01-03 11:49:03
我试过,我的应用程序崩溃。我尝试%i和%d为字符串格式 – d4ndym1k3 2012-01-03 11:50:11
newHeight变量的值是什么? – Robin 2012-01-03 11:51:10
67,但textView从view.origin.y = 66开始,textView的高度延伸到视图边界以下 – d4ndym1k3 2012-01-03 11:56:37