0

我已经建立了自定义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:

我应该在哪里设置我的滚动视图的 contentSize ???

-- 更新:

这是奇怪的行为:当我向下滚动表格视图时,方法layoutSubviews将再次被调用,但这次 contentSize 将保持它的新值并且不会被覆盖或更改

-- 更新 2:

当我从storyBoard文件中删除自动布局时,一切正常......:s
\如何在不删除自动布局的情况下解决问题

4

2 回答 2

0

如果您使用的是故事板,我猜是去使用

initWithCoder:(NSCoder *)coder;

此方法在 viewDidLoad 之后被调用,它可能与此有关。

这很奇怪,我会正常发表评论以保持讨论,但 50 声望不会让我

于 2013-08-16T19:28:27.937 回答
0

最佳解决方案:

  • 在storyBoard中我删除了scrollView的所有子视图
  • -(void)awakeFromNib我创建了所有视图并以编程方式将它们添加到 scrollView

现在一切都运行良好

于 2013-08-17T13:11:40.007 回答