2

我以编程方式创建了一个 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];
4

5 回答 5

1

尝试在 TableView 上设置 delaysContentTouches。

于 2012-05-15T22:04:16.130 回答
0

我知道这是一个旧线程,但是您是否偶然在 iOS 模拟器中看到了这个问题?我的表格视图遇到了同样的问题,但事实证明我只是在模拟器中没有使用正确的手势。请参阅Can't get UITableView list to scroll in iPhone simulator

于 2013-05-30T00:16:37.063 回答
0

我正在使用启动 iOS 模拟器的 Xamarin Studio。我不得不重新启动我的 Mac。现在表格视图再次滚动。仅重新启动 Xamarin 或 iOS 模拟器不起作用。

于 2014-09-17T09:30:50.810 回答
0

我试图把它放在评论中,但它太长了......

您的大多数 set 方法只是设置默认值,因此它们在您的代码的最终版本中不是必需的。此外,您创建 tableview 并将其添加为子视图的方式没有任何问题。这让我相信这个错误存在于周围的代码中,可能与超级视图上的属性有关。当您说“工作完美”时,您的意思是您可以选择单元格并调用您的 didSelectRow... 方法吗?您可以尝试将内容注释掉,将 tableview 剥离为所需的基本内容(init、addSubview、numberOfRows 返回 0、cellForRow 返回 nil,不要设置委托和数据源以外的任何内容)。这应该会给你一个空的 tableview,即使里面什么都没有,它也会滚动和反弹。

于 2012-05-16T17:05:06.323 回答
0

ScrollView 必须设置 contentSize 才能滚动。尝试设置您的 contentSize:

[feed setContentSize:[feed frame].size];
于 2012-05-15T22:56:36.997 回答