Iphone UITableview单元格上的“删除”按钮可阻止自定义单元格图像

Iphone UITableview单元格上的“删除”按钮可阻止自定义单元格图像,iphone,sdk,uitableview,delete-row,Iphone,Sdk,Uitableview,Delete Row,我对tableview单元格进行了子类化,并向自定义单元格添加了一些标签和图像 [self.contentView addSubview:lblDesc]; [self.contentView addSubview:imagesToDisplay]; 当我编辑tableView并按下“-”号时,删除按钮会出现在图像和其他内容的顶部 其他一些应用程序挤压单元格内容以容纳删除按钮 我该怎么做呢 我是否需要添加一个键值观察者 [单元格添加观察者:自分叉路径:@“showingDelete

我对tableview单元格进行了子类化,并向自定义单元格添加了一些标签和图像

   [self.contentView addSubview:lblDesc];
   [self.contentView addSubview:imagesToDisplay];
当我编辑tableView并按下“-”号时,删除按钮会出现在图像和其他内容的顶部

其他一些应用程序挤压单元格内容以容纳删除按钮

我该怎么做呢

我是否需要添加一个键值观察者 [单元格添加观察者:自分叉路径:@“showingDeleteConfirmation”
选项:NSKeyValueObservingOptionNew context:NULL]

您需要设置正确的
自动重新设置任务
,这样当
内容视图
改变大小时,您的按钮可以正确移动。

您需要设置正确的
自动重新设置任务
,这样当
内容视图
改变大小时,您的按钮可以正确移动。

自动重新设置任务很简单,把它想象成一个网页页Web内容“流动”,它占用的空间与浏览器窗口提供的空间一样大。自动调整大小也是一样的。有一些“遮罩”告诉UIKit您希望内容如何调整到不同的帧大小

因此,例如,如果希望视图从右侧收缩或增长(例如,如果视图是左对齐的内容,如表格单元格),则可以如下设置遮罩:

cell.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
自动调整大小的工作方式也类似于按位OR操作,因此,如果您希望它从右侧(如上所述)增长,但也从底部增长,您可以将两者“或”结合在一起

cell.autoresizingMask = (UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin);

在这对你不起作用的情况下(例如,你想在屏幕上放置太多,需要删除某些元素等,或者你想以某种方式与默认情况不同),请考虑使用UITababVIEW单元格中预先存在的方法调用。从:

这将在单元格更改状态(正常->编辑或其他)之前调用,因此,如果需要执行任何特殊操作以将动画处理到编辑状态,这就是您执行此操作的机会。文件规定:

UITableViewCell的子类可以 实现此方法以设置动画 当单元格被删除时对其进行的其他更改 正在改变状态。UITableViewCell 每当单元格 状态之间的转换,例如 从正常状态(默认)到 编辑模式。可以设置自定义单元格 向上放置任何新的视图 与新状态一起出现。牢房 然后接收layoutSubviews消息 (UIView)它可以定位的位置 这些新观点在他们的最终报告中 新州的位置。 子类必须始终调用super 正在重写此方法。正在重写此方法


自动调整大小很简单——把它想象成一个网页。Web内容“流动”,它占用的空间与浏览器窗口提供的空间一样大。自动调整大小也是一样的。有一些“遮罩”告诉UIKit您希望内容如何调整到不同的帧大小

因此,例如,如果希望视图从右侧收缩或增长(例如,如果视图是左对齐的内容,如表格单元格),则可以如下设置遮罩:

cell.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
自动调整大小的工作方式也类似于按位OR操作,因此,如果您希望它从右侧(如上所述)增长,但也从底部增长,您可以将两者“或”结合在一起

cell.autoresizingMask = (UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin);

在这对你不起作用的情况下(例如,你想在屏幕上放置太多,需要删除某些元素等,或者你想以某种方式与默认情况不同),请考虑使用UITababVIEW单元格中预先存在的方法调用。从:

这将在单元格更改状态(正常->编辑或其他)之前调用,因此,如果需要执行任何特殊操作以将动画处理到编辑状态,这就是您执行此操作的机会。文件规定:

UITableViewCell的子类可以 实现此方法以设置动画 当单元格被删除时对其进行的其他更改 正在改变状态。UITableViewCell 每当单元格 状态之间的转换,例如 从正常状态(默认)到 编辑模式。可以设置自定义单元格 向上放置任何新的视图 与新状态一起出现。牢房 然后接收layoutSubviews消息 (UIView)它可以定位的位置 这些新观点在他们的最终报告中 新州的位置。 子类必须始终调用super 正在重写此方法。正在重写此方法


不。我在自定义实现中以及tableview委托方法中添加了此选项。但是力没有什么不同。好吧,让这个工作,我需要设置标签和图像的自动重设。但现在它们的标签和图像重叠了。试过各种组合,没有。我在自定义实现中以及tableview委托方法中添加了此选项。但是力没有什么不同。好吧,让这个工作,我需要设置标签和图像的自动重设。但现在它们的标签和图像重叠了。尝试了各种组合。好吧,这需要我做“肮脏”的工作。我不想用这个,因为我有7种不同类型的单元格,所以我需要做大量的定制。但是,如果其他一切都失败了,我会调查的。但如果你能对自动调整大小的方式有所了解,那就太好了。这对我不起作用。我补充了更多关于自动调整大小的内容。另外,试着看一看苹果的AdvancedTableCells示例代码——嘿,谢谢你的自动调整大小的东西,我想我需要使用你的第一个解决方案本身,我的TableCells上有很多杂乱的东西。好吧,这需要我做一些“肮脏”的工作。我不想用这个,因为我有7种不同类型的单元格,所以我需要做大量的定制。但是,如果其他一切都失败了,我会调查的。但如果你能对自动调整大小的方式有所了解,那就太好了。这对我不起作用。我补充了更多关于自动调整大小的内容。另外,试着看一看苹果的AdvancedTableCells示例代码——嘿,谢谢你的自动调整大小的东西,我想我需要使用你的第一个解决方案