我有一个我正在研究的iPhone应用程序,它的工作方式很像sms.app。基本上,当您单击键盘时,tableView会在显示键盘时缩小以适应。当你点击它时,它会隐藏,TableView会回到原来的高度。
我的问题是,当我将UITableView帧更改回原始大小时,未显示的单元格现在在显示之前有一个奇怪的动画。我可以主要讲述因为图像。他们从中心开始大,然后调整到他们应该的位置。这是UITableView中的设置吗?或者只是我的代码?
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// InitWithStyle
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.backgroundColor = [UIColor clearColor];
cell.contentView.backgroundColor = [UIColor clearColor];
// Add subviews here! EX:
// [[cell contenView] addSubview:theObject];
}
答案 0 :(得分:0)
您将UITableView样式设置为两次,分别为两种不同的样式,
默认:
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
和副标题:
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];`
将此处设置为您想要的任何样式并删除其他样式。
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
所以发生的事情是你在需要时创建一个新的单元格,然后创建另一个不同风格的单元格。