我的图标在模拟器中正常运行,当我在实际设备上运行6s plus然后锁定图标被隐藏。我附上两个屏幕。请给我正确的建议。 在模拟器6s中,毛绒宽度为414.I' m使用下面的代码。
if (WIDTH==414) {
cell.txtFld_Category.frame = CGRectMake(0, 0, WIDTH/2, 47.5);
}
else {
cell.txtFld_Category.frame = CGRectMake(0, 0, WIDTH/2 + 20, 47.5);
}
cell.txtFld_Category.layer.cornerRadius = 9.0f;
[cell.txtFld_Category setFont:[UIFont fontWithName:kFontRegular size:18.0f]];
cell.btn_Edit.frame = CGRectMake(CGRectGetMaxX(cell.txtFld_Category.frame) + 16, 10, 24, 25); btn_EditTransp.frame = CGRectMake(CGRectGetMaxX(cell.txtFld_Category.frame), 0, 47, 47);
btn_Locked.frame = CGRectMake(CGRectGetMaxX(btn_EditTransp.frame) + 10, 4, 35, 35);
btn_Lockedtransp.frame = CGRectMake(CGRectGetMaxX(btn_EditTransp.frame), 0, 47, 47);
这是模拟器上的图像
此处的设备图片
答案 0 :(得分:0)
如果u子类化了tableview单元格,(你在问题中没有提到你,你是如何创建tableview单元格的),如果你不是,那么继承tableview单元格,将其命名为CustomTableViewCell
例如。
在CustomTableViewCell.m
文件覆盖layoutSubviews
方法中,如下所示
//cell creation
+ (CustomTableViewCell *)cell
{
NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"CustomTableViewCell" owner:nil options:nil];
if ([arrayOfViews count] < 1) {
return nil;
}
for (id item in arrayOfViews) {
if([item isKindOfClass:[UITableViewCell class]])
return item;
}
return nil;
}
//initial set up
- (void)awakeFromNib {
// Initialisation code
[self.txtFld_Category setFont:[UIFont fontWithName:kFontRegular size:18.0f]];
self.txtFld_Category.layer.cornerRadius=9.0f;
}
- (void)layoutSubviews
{
[super layoutSubviews];
if (WIDTH==414)
{
self.txtFld_Category.frame=CGRectMake(0,0, WIDTH/2,47.5);
}
else {
self.txtFld_Category.frame=CGRectMake(0,0, WIDTH/2+20,47.5);
}
self.btn_Edit.frame=CGRectMake(CGRectGetMaxX(cell.txtFld_Category.frame)+16,10,24,25);
btn_EditTransp.frame=CGRectMake(CGRectGetMaxX(cell.txtFld_Category.frame),0,47,47);
btn_Locked.frame=CGRectMake(CGRectGetMaxX(btn_EditTransp.frame)+10,4,35,35);
btn_Lockedtransp.frame=CGRectMake(CGRectGetMaxX(btn_EditTransp.frame),0,47,47);
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
答案 1 :(得分:-1)
这就是你应该使用AutoLayout的原因。将约束添加到屏幕的右边框。
答案 2 :(得分:-1)
您似乎没有向UITableView添加任何约束。在表格视图中添加一些简单的引脚,例如将其固定在顶部,底部,前导和尾随边缘的0个点应该可以解决问题。