UIScrollView 停止工作添加子视图



我在使用 UIScrollView.i 时遇到了一些问题,我创建了它,设置了一些属性,并使用主视图指向此 UIScrollView.请参阅:

scrollWidth = 320.0;
scrollHeight = 410 * listRegisterPeople.count;
scrollScreenView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, scrollWidth,    scrollHeight)];
[scrollScreenView setScrollEnabled:YES];
[scrollScreenView setContentSize:CGSizeMake(scrollWidth, 410 * list.count)];
[scrollScreenView setShowsVerticalScrollIndicator:YES];
[scrollScreenView setShowsHorizontalScrollIndicator:YES];
[scrollScreenView setPagingEnabled:NO];
scrollScreenView.delegate = self;
[scrollScreenView setContentOffset:CGPointMake(0, 0)];
self.view = scrollScreenView;

但我想添加 scrollScreenView 作为子视图 [self.view addSubview:scrollScreenView]。但是这样我就无法滚动我的视图,我不知道为什么。

怎么解决?

如果 ScrollView 的框架大于或等于内容大小,则不会滚动。您的滚动视图高度等于滚动视图内容大小,我认为这就是问题所在。使框架等于 self.view 并设置内容大小,如下所示:尝试以下操作。

scrollWidth = 320.0;
scrollHeight = 410 * listRegisterPeople.count;
scrollScreenView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320,self.view.frame.size.height)];
[scrollScreenView setScrollEnabled:YES];
[scrollScreenView setContentSize:CGSizeMake(scrollWidth, scrollHeight)];
[scrollScreenView setShowsVerticalScrollIndicator:YES];
[scrollScreenView setShowsHorizontalScrollIndicator:YES];
[scrollScreenView setPagingEnabled:NO];
scrollScreenView.delegate = self;
[scrollScreenView setContentOffset:CGPointMake(0, 0)];
[self.view addSubview:scrollScreenView];
我认为

您应该替换该行

self.view = scrollScreenView;

对于生产线

[自我视图添加子视图:滚动屏幕视图]

自动布局在视图加载后设置一些约束,因此,只需将内容大小放在viewDidAppear,并且您的代码不会被重写。

这对我有用。

-(void)viewDidAppear:(BOOL)animated{
  [self.scrollView setContentSize:CGSizeMake(320, 1000)];
}

对不起,我的英语很差。

最新更新