【发布时间】:2013-08-16 19:04:31
【问题描述】:
我已经建立了自定义UITableViewCell“customCell”,
里面只有UIScrollView“scrollView”和scrollView:有2个子视图
在 customCell 类中 我把这样的代码设置为scrollView的contentSize
(void)layoutSubviews{
self.scrollView.contentSize = CGSizeMake(480, 120);
}
代码被调用并且 contentSize 正常工作,但是 有一些东西可以将 self.scrollView 的 contentSize 重新更改为默认值,我认为这是因为限制
我尝试在这些方法中更改 contentSize,但都没有解决问题
-(void)awakeFromNib
-(void)buildCell // this method get called from tableView method - tableView:cellForRowAtIndexPath:
我应该在哪里设置我的 scrollView 的 contentSize ???
-- 更新:
这是奇怪的行为:
当我向下滚动表格视图时,方法layoutSubviews 将再次被调用,但这次 contentSize 将保持它的新值并且不会被覆盖或更改
-- 更新 2:
当我从 storyBoard 文件中删除 autoLayout 时,一切正常...... :s
\如何在不移除autoLayout的情况下解决问题
【问题讨论】:
-
您是否检查以确保 self.scrollView 指向您认为它指向的滚动视图,而不是 nil 或其他什么?
-
是的,我检查了,self.scrollView 指向 storyBoard 中的正确视图,它不是 nil
-
如果它在运行时绝对不是 nil,你可以在 contentSize 属性上放置一个 KVO 观察器来找出它在哪里被改变了。这是一种必须调试某些东西的糟糕方法,但它可能会回答您的问题。
标签: ios uitableview uiscrollview