プレーンモードのときにUITableViewの区切り線を完全に削除する方法を探しています。これはグループ化されて自動的に行われますが、測定が困難な方法でテーブルのディメンションも変更されます。セパレータの線の色をcolorClearに設定しました。しかし、これで問題が完全に解決されるわけではありません。
セルにカスタムの背景ビューを描画しようとしており、セルをシームレスにしたいので、間に残っている1つのピクセルラインが問題を引き起こしています。グループ化されたビューを使用してからストレッチするよりもエレガントな回避策がありますか?
これを行うには、UITableView
プロパティseparatorStyle
を使用します。プロパティがUITableViewCellSeparatorStyleNone
に設定され、設定されていることを確認してください。
Objective-C
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
Swift(3より前)
tableView.separatorStyle = .None
Swift 3/4/5
tableView.separatorStyle = .none
これは、ストーリーボード/ xibエディターでも実行できます。 Separatorをnoneに設定するだけです。
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
}
他の回答を試みた後、私はまだ暗い灰色の線がありました。次の2行を追加して、セル間の行線に関してすべてを「非表示」にしなければなりませんでした。
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.separatorColor = [UIColor clearColor];
Swiftの場合:
tableView.separatorStyle = .None
IOS 9ベータ4にはバグがあります。ストーリーボードからUITableViewCell
をseparatorStyle
に設定しても、UITableViewCellSeparatorStyleNone
sの間に区切り線が表示されます。これを回避するには、コードから設定する必要があります。これは、現在、ストーリーボードにバグがあるためです。将来のベータで修正されることを願っています。
設定するコードは次のとおりです。
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
ViewDidLoadメソッドでは、この行を記述する必要があります。
tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;
これは機能するコードです。
viewDidLoad
で:
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}