4

我有一个包含一些自定义视图的内容视图的 uitableviewcell。当表格视图进入编辑模式时,内容视图会调整大小(变窄),内容视图中的图像会水平缩小

有谁知道如何防止这种情况?

我已将单元格缩进设置为无。

谢谢

4

4 回答 4

2

您是否尝试过设置shouldIndentWhileEditingNO

看看属性:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html

于 2012-06-12T22:05:19.070 回答
1

您是否尝试过在视图上设置自动调整大小的蒙版?

theView.autoresizingMask = UIViewAutoresizingNone;

您可能需要在内容视图和/或图像视图上设置它 - 尚不清楚您的视图层次结构的确切结构。但是,框架可能由框架显式设置(而不是自动调整大小),在这种情况下,这将不起作用。

如果您尝试为整个表格单元格设置背景图像,您可能还想尝试另一种方法,即backgroundColor像这样设置单元格的:

UIImage* someImage = [UIImage imageNamed:@"someImage"];
cell.backgroundColor = [UIColor colorWithPatternImage:someImage];

请记住确保backgroundColor您放置在其中的所有其他视图都[UIColor clearColor]可以看到背景图像。

于 2012-06-12T22:03:02.643 回答
0

我做了类似的事情来避免在使用单元格自动尺寸时调整单元格内容的大小。

我的问题是单元格内的 textView 在选择之后将其内容包装在更多行中,我只是想避免这种情况。

要解决这个“问题”:

  • 我在单元格内容中添加了 40px(附件视图的大小)的尾随约束
  • 在单元格选择中,我将约束更改为 0,因此文本大 40 px,但是当附件显示时,您看不到任何更改。

这个解决方案的优点是当用户选择一行时内容维度不再改变。缺点是单元格右侧始终有 40px 的可用空间,即使未选中也是如此。

于 2019-08-09T10:02:58.647 回答
0

你总是可以得到一个带有 indexpath 的 tableviewcell。使用该 tableviewcell 重用标识符,您可以避免调整或不调整 tableview 单元格内容大小。我需要实现类似的功能以避免调整单独单元格的大小。PFB 代码。

-(BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath{

BOOL shouldIndentWhileEditingRow = NO;

UITableViewCell *lTableViewCell = [tableView cellForRowAtIndexPath:indexPath];

/*Change the position of the target rect based on Sending messages or Receiving messages*/
if ([lTableViewCell.reuseIdentifier isEqualToString:@"SendingChatCellIdentifier"]) {

    shouldIndentWhileEditingRow = NO;

}else if ([lTableViewCell.reuseIdentifier isEqualToString:@"ReceivingChatCellIdentifier"]){

    shouldIndentWhileEditingRow = YES;
}

return shouldIndentWhileEditingRow;
}
于 2015-11-26T15:00:59.333 回答