我动态地为我的UIViewController添加了一个自定义视图。它现在添加完美,没有例外。但屏幕卡住了。我的滚动视图不起作用。我之前遇到过这个问题,人们建议使用setContentSize。我做到了,它工作得很好。现在我有一个新的场景。我有2个屏幕。在屏幕A我保存值。然后我点击屏幕A上的一个栏按钮项目并转到屏幕B.这里在屏幕B(它是一个tableviewcontroller)我选择一行然后去返回屏幕A并相应地填充值(基本上加载我在应用程序开头保存的已保存值)。我正确地填充它们并且还添加滚动视图但是它被卡住了。它既不向上/向下移动。我编写了这段代码,用于添加子视图并设置滚动视图大小和帧大小。
ITMCustomView *cView = [[ITMCustomView alloc] initWithFrame:CGRectMake(187, 660, 400, 400)
andOrderedItem:@"New"
andTag:self.tagNumber
withFoldArray:self.foldTypeArray
withRollArray:self.rollTypeArray];
cView.tag =self.tagNumber;
NSLog(@"Assigned tag is %d",cView.tag);
cView.delegate = self;
CGPoint scrollPoint = CGPointMake(0.0, (cView.frame.origin.y/500)*400);
[self.scrollView setContentOffset:scrollPoint animated:YES];
[self.scrollView addSubview:cView];
CGFloat scrollViewHeight = 0.0f;
for (UIView *view in self.scrollView.subviews)
{
scrollViewHeight += view.frame.size.height;
}
CGSize newSize = CGSizeMake(320,scrollViewHeight);
[self.scrollView setContentSize:newSize];
NSLog(@"947 the tag number is %d",self.tagNumber);
我检查了scrollViewHeight的值... 3254.000 ..我把它更改为4000,因为有人建议增加高度。那么我做错了什么。这个问题跟我的另一个问题Navigating back to UIViewController from TableViewController using NSNotifications 如果您需要更多信息,请询问。谢谢。
答案 0 :(得分:1)
在我使用之后显示>>
- (void) viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
self.scrollView.contentSize = self.viewMain.bounds.size;
}
答案 1 :(得分:0)
检查滚动视图上的scrollingEnabled
属性。不出所料,它需要设置为YES
。如果是这种情况但仍然无效,请检查视图(及其超级视图)是否也将userInteractionEnabled
设置为YES
。在调试器中,您可以执行po [self.view recursiveDescription]
以获取视图层次结构,这也可以为您提供一些有用的信息。