我在附件视图中有一个带UISwitch的UITableviewCell,它在运行时正确显示,但是一旦我旋转设备,开关就不再在正确的位置。
我可以使用约束而不使用accessoryView,但我想我可以使用这个字段.. 有没有人有想法?
谢谢!
编辑: 这是Interface Builder中的配置:
编辑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];
我根本没有设置约束,因为我使用默认属性..
答案 0 :(得分:2)
我和你有同样的问题。
以下是我的观察:
我不知道问题是来自IB还是单元格在iOS 8上布局附件视图的方式,但到目前为止解决方法很简单:始终按代码设置accessoryView以避免意外行为。
答案 1 :(得分:0)
我可以肯定地说你的约束没有正确设置。但是,如果没有看到故事板的限制,就没有办法说出什么是肯定的。
答案 2 :(得分:0)
如果您使用autolayout(可能),则应首先设置约束。
答案 3 :(得分:0)
如果您在代码中创建accessoryView
和editingAccessoryView
并设置它,看起来一切都很棒!
如果您尝试在UIStoryBoard
中设置它们,UITableViewCell
会在第一次消失后删除constraints
,而将不会加回来。这是一个耻辱,但希望他们在以后的版本中改变它。
希望有帮助!