1

我在我的项目中使用 InAppSettingsKit。在 iOS 9 更新之前一切都很好。我在 iOS 8 中没有这个问题。它仍然可以工作,但现在单元格对齐看起来很奇怪。现在单元格内容从左侧和右侧有奇怪的偏移。

我已经下载了示例项目并发现了有趣的时刻。并编辑了一个单元格配置单元格。所以实际上 cell 是绿色的,contentView 是红色的。

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kIASKPSToggleSwitchSpecifier];
    cell.accessoryView = [[IASKSwitch alloc] initWithFrame:CGRectMake(0, 0, 79, 27)];
    cell.contentView.autoresizingMask |= UIViewAutoresizingFlexibleWidth;
    cell.contentView.backgroundColor = [UIColor redColor];
    cell.backgroundColor = [UIColor greenColor];
    [((IASKSwitch*)cell.accessoryView) addTarget:self action:@selector(toggledValue:) forControlEvents:UIControlEventValueChanged];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;

当控制器配置表单 xib 时效果很好。

配置: 在此处输入图像描述 结果: 在此处输入图像描述 所以... 正常的左右偏移。没有任何问题。但!以编程方式推送后。

- (IBAction)showSettingsPush:(id)sender {
    [self.navigationController pushViewController:[[IASKAppSettingsViewController alloc] init] animated:YES];
}

我有这个奇怪的结果(我的应用程序中存在同样的问题): 在此处输入图像描述

InAppSettingsKit 源码

PS无论如何感谢您的关注。如果有任何帮助,我将不胜感激。

4

1 回答 1

1

这实际上是 iOS 9 的一项功能 ( cellLayoutMarginsFollowReadableWidth),它将单元格限制为一个良好的可读宽度。IMO 你的第二张截图看起来更好。(附带说明:在您的第一个镜头中,部分标题未正确对齐 - 不确定这是什么原因,在此处的示例应用程序中工作正常)。

有一个拉取请求允许您禁用此属性(默认为YES):https ://github.com/futuretap/InAppSettingsKit/pull/317

我将研究潜在的副作用,并可能在某个时候合并它。

于 2015-09-29T12:23:57.180 回答