我在UITableviewCell中有一个带有UISwitch的accessoryView,它在运行时被正确地显示,但是一旦我旋转设备,开关就不在正确的位置了。

我可以使用约束,而不是使用accessoryView,但我认为我可以使用这个字段。有谁有主意吗?
谢谢!
编辑:以下是Interface中的配置:

编辑2:我使用了自定义单元格:

对默认属性进行初始化:
self.textLabel.font = [UIFont preferredDynamicFontForTextStyle:UIFontTextStyleBody fontSize:16.0];
self.backgroundColor = self.contentView.backgroundColor;
self.textLabel.text = item.title;
self.selectedImage = item.imageSelected;
self.unselectedImage = item.image;
self.imageView.image = self.unselectedImage;
// if I do it programmatically
self.accessoryView = [[UISwitch alloc] init];我根本不设置约束,因为我使用默认属性..
发布于 2016-03-01 09:13:22
看起来,如果您在代码中创建accessoryView和editingAccessoryView并对其进行设置,那么一切都很好!
如果您试图在UIStoryBoard中设置它们,UITableViewCell将在它们第一次淡出之后删除constraints,并且不会将它们添加回。这是一个遗憾,但希望他们在以后的版本中改变它。
希望这能帮上忙!
发布于 2015-08-27 09:45:15
我只是和你有同样的问题。
以下是我的观察:
我不知道问题是来自IB还是iOS 8上单元格布局附件视图的方式,但到目前为止,解决方法很简单:始终通过代码设置accessoryView以避免意外行为。
发布于 2015-04-19 21:35:30
如果您正在使用autolayout (可能),您应该首先设置约束。
https://stackoverflow.com/questions/29733582
复制相似问题