繁体   English   中英

UITableView不滚动(iOS)

[英]UITableView Doesn't Scroll (iOS)

我已经以编程方式创建了UITableView,并且发现它无法滚动。 这是我第一次通过编程而不是通过Interface Builder创建UITableView。 我需要以编程方式设置一些属性以使视图滚动吗? 我已经尝试过setBounces,setScrollEnabled,setAlwaysBounceVertical,但是似乎没有任何效果。 任何想法将不胜感激! 谢谢!

样例代码:

UIInterfaceOrientation interfaceOrientation = [[UIApplication sharedApplication] statusBarOrientation];
CGFloat height = (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) ? 460 : 300;
feed = [[UITableView alloc] initWithFrame:CGRectMake(0.0f, 44.0f, self.bounds.size.width, height - 44.0f)];
[feed setSeparatorColor:[UIColor colorWithRed:38.0f/255.0f green:43.0f/255.0f blue:63.0f/255.0f alpha:1.0f]];
[feed setBackgroundColor:[UIColor colorWithRed:48.0f/255.0f green:53.0f/255.0f blue:73.0f/255.0f alpha:1.0f]];
[feed setDataSource:self];
[feed setDelegate:self];
[feed setHidden:YES];
[feed setBounces:YES];
[feed setScrollEnabled:YES];
[feed setAlwaysBounceVertical:YES];
[feed setDelaysContentTouches:YES];
[self addSubview:feed];

尝试在TableView上设置delaysContentTouches。

滚动视图必须设置其contentSize才能滚动。 尝试设置您的contentSize:

[feed setContentSize:[feed frame].size];

我试图对此发表评论,但时间太长了...

您的大多数set方法只是设置默认值,因此在代码的最终版本中不需要它们。 同样,创建表视图并将其添加为子视图的方式也没有错。 这使我相信该错误是在周围的代码中,也许与超级视图上的属性有关。 当您说“完美地工作”时,是否意味着您可以选择单元格并调用didSelectRow ...方法? 您可以尝试注释掉所有内容,将tableview剥离为所需的基本内容(init,addSubview,numberOfRows返回0,cellForRow返回nil,除了委托和数据源外,请勿设置其他任何内容)。 那应该给您一个空的表视图,即使其中没​​有任何内容,它也会滚动和跳动。

我知道这是一个旧线程,但是您是否有机会在iOS模拟器中看到此问题? 我的表格视图遇到了同样的问题,但事实证明我只是在模拟器中使用的手势不正确。 请参阅“无法获取UITableView列表以在iPhone模拟器中滚动”

我正在使用Xamarin Studio,它将启动iOS模拟器。 我必须重新启动Mac。 现在,tableview再次滚动。 仅重新启动Xamarin或iOS模拟器无效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM