iOS9 更新后 AppSettings Kit 奇怪的单元格内容对齐

InAppSettingsKit Strange cell content allignment after iOS9 update

我在我的项目中使用 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;

控制器配置 form xib 时效果很好。

配置: 结果: 所以...正常的左右偏移。没有任何问题。但!以编程方式推送后。

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

我有这个奇怪的结果(我的应用程序中有同样的问题):

InAppSettingsKit Source

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

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

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

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