我正在尝试缩小我在 iOS 应用程序中使用 2 个单独的 UITableView 实例时遇到的问题。也许我在 UITableViews 上设置了一个错误的属性,或者它可能是其他东西,但这里是两者的症状,尽我所能确定。
当第一次创建表并加载数据时,会发生以下两个错误。但是,如果我随后拖动并释放(从而成功滚动表格,甚至一点点),两个错误都会立即消失。
- 我无法点击任何行(从不发送委托回调)
- 没有数据出现(好像表是空的)
同样,一旦我尝试在桌子上拖动,这两个错误都会立即消失。我还应该提到它们不会 100% 发生。我猜这可能意味着我缺少某种竞争条件。
这些表是 UITableView 的编程实例化子类(通过 initWithFrame:)。这是我在子类上重写的构造函数:
- (id) init
{
if((self = [super initWithFrame:CGRectMake(0, 0, POST_WIDTH, 0)]))
{
self.scrollsToTop = YES;
self.dataSource = self;
self.delegate = self;
self.rowHeight = POST_DEFAULT_HEIGHT;
self.delaysContentTouches = YES;
self.backgroundColor = [UIColor clearColor];
self.separatorColor = [UIColor clearColor];
self.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, 0, 2);
self.showsVerticalScrollIndicator = NO;
}
return self;
}
回顾一下:上述 2 个错误中的零个、一个或两个在创建时随机出现在每个表中,但在稍微滚动表时就会消失。
感谢您的耐心,因为我很困惑:(
FWIW,它发生在运行 iOS5 的 iPhone 和 iPad 上,包括模拟器。