13

iPhone 6 Plus のテーブル ビューのセル セパレータに問題があります。ラベルが 1 つだけで、リーディング エッジに 15pt の制約があるカスタム セルを使用して、空白のテスト プロジェクトを作成しました。

iPhone 5S

ラベルとセパレーターは、先端から 30 px (15pt) の位置にあります。すべてが良いです。

iPhone 5S

iPhone 6 プラス

ラベルはリーディング エッジから 48 px (15pt) の位置にあり、セパレータはリーディング エッジから 60px (20pt) の位置にあります。

iPhone 6 プラス

tableView.separatorInset をログに記録すると、iPhone 5S では 15pt、6 Plus では 20pt になります。6 Plus でインセットを手動で 15 に設定しても機能しません。

助けを送ってください。

4

5 に答える 5

6

カスタム セル クラスで layoutMargins メソッドをオーバーライドします。

 - (UIEdgeInsets)layoutMargins
{
    return UIEdgeInsetsMake(0, 15, 0, 0);
}
于 2014-10-29T06:02:49.747 に答える
2

ストーリーボードを使用している場合は、Table View 属性インスペクターを選択します。変更

セパレータインセット

カスタム

デフォルトの左マージンを のままにします15

于 2015-08-17T05:03:26.437 に答える
1

このソリューションで修正しました: http://qiita.com/mono0926/items/42f7a344b39e946abfe2

呼び出されたtableView.separatorInset.leftときに値を取得します。viewDidLayoutSubviews

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    notificationLabelLeft.constant = tableView.separatorInset.left
}
于 2015-07-07T02:03:01.590 に答える