web-dev-qa-db-ja.com

UITableViewから区切り線を削除する方法はありますか?

プレーンモードのときにUITableViewの区切り線を完全に削除する方法を探しています。これはグループ化されて自動的に行われますが、測定が困難な方法でテーブルのディメンションも変更されます。セパレータの線の色をcolorClearに設定しました。しかし、これで問題が完全に解決されるわけではありません。

セルにカスタムの背景ビューを描画しようとしており、セルをシームレスにしたいので、間に残っている1つのピクセルラインが問題を引き起こしています。グループ化されたビューを使用してからストレッチするよりもエレガントな回避策がありますか?

220
Tricky

これを行うには、UITableViewプロパティseparatorStyleを使用します。プロパティがUITableViewCellSeparatorStyleNoneに設定され、設定されていることを確認してください。

Objective-C

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

Swift(3より前)

tableView.separatorStyle = .None

Swift 3/4/5

tableView.separatorStyle = .none
452
Bart Jacobs

これは、ストーリーボード/ xibエディターでも実行できます。 Separatorをnoneに設定するだけです。

enter image description here

64
Kevin DiTraglia
- (void)viewDidLoad {
    [super viewDidLoad];
    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
}
62
imthi

他の回答を試みた後、私はまだ暗い灰色の線がありました。次の2行を追加して、セル間の行線に関してすべてを「非表示」にしなければなりませんでした。

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.separatorColor = [UIColor clearColor];
18
Sig Myers

Swiftの場合:

tableView.separatorStyle = .None
9
Mohsen

インターフェイスビルダーでテーブルビューの区切り記号を「なし」に設定します

enter image description here および最後のセルの後に表示される区切り線は、次の方法で削除できます。最善のアプローチは、空のビューをviewDidLoadのtableView FooterViewに割り当てることです。

self.tableView.tableFooterView = UIView()

9
Mohsin Qureshi

IOS 9ベータ4にはバグがあります。ストーリーボードからUITableViewCellseparatorStyleに設定しても、UITableViewCellSeparatorStyleNonesの間に区切り線が表示されます。これを回避するには、コードから設定する必要があります。これは、現在、ストーリーボードにバグがあるためです。将来のベータで修正されることを願っています。

設定するコードは次のとおりです。

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

ViewDidLoadメソッドでは、この行を記述する必要があります。

tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;

これは機能するコードです。

2
Ashu

viewDidLoadで:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
    [self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
1
Aatish Javiya