我在我的表视图上有自定义单元格,我用nib文件创建了它。我有2个水平scrollViews
。目标平台是iOS 7.
在单元格XIB
文件中,我为每个tableView
创建了“约束”(因为我正在使用autolayout
)。
在我的自定义单元格实现文件中,我有这样的代码:
-(void)layoutSubviews
{
self.SwitchPageSV.contentSize = CGSizeMake(960, 240);
self.SwitchPageSV.scrollEnabled = YES;
self.SwitchPageSV.delegate = self;
self.ButtonsSV.contentSize = CGSizeMake(400, 40);
self.SwitchPageSV.scrollEnabled = YES;
}
它的工作就像一个魅力。但是,当我从此表视图转到其他View Controller并返回时,滚动视图不再起作用。我必须滚动tableView
来重新创建单元格,而不是再次运行。
重新加载数据无济于事:
我试图在以下位置定义这些值:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
在我的viewController
上,我将所有数据都放到此单元格中。但是从那里开始,滚动视图的设置根本不起作用。我不知道该怎么办。有什么帮助吗?
答案 0 :(得分:0)
这是因为代码中的 layoutSubviews 方法仅在初始化后调用。但是你需要在回来之后执行这个方法中的代码。为此,您必须调用 setNeedsLayout
[self setNeedsLayout ];