2009-05-29 13 views
201

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

セルでカスタム背景ビューを描画しようとしていて、セルをシームレスにするために、中間にある1つのピクセル行が問題を引き起こしています。グループ化されたビューを使用してストレッチすると、より洗練された回避策がありますか?

+0

この回答のように 'separatorInset'を変更してください。http://stackoverflow.com/a/8561820/1418457 – onmyway133

答えて

422

UITableViewプロパティseparatorStyleでこれを行うことができます。プロパティがUITableViewCellSeparatorStyleNoneに設定されていることを確認してください。スイフト3

tableView.separatorStyle = .none 
+32

また、IBで、これを行うこともできます(separator => none)。 –

+1

これは、テーブルセクション内の区切り線のみを削除するようです。区切り線*をセクション間で削除する方法はありますか? – devios1

+4

セクション間の線は、実際には線ではなく、セクションのビューです。 'UITableViewDelegate'プロトコルから' tableView:viewForHeaderInSection: 'を実装することによって、ビューを変更することができます。 –

62
- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 
} 
14

のObjective-C

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 
スウィフトで

(前3)

tableView.separatorStyle = .None 

Iはまだ試みた後濃い灰色の線を有しました他の答え。私は以下の2行を追加して、セル間の行ラインのすべてを「見えない」ものにする必要がありました。

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 
self.tableView.separatorColor = [UIColor clearColor]; 
+0

これは私のために働いた。私の場合、区切り線は実際にはセルの間に現れていませんでしたが、実際にはセルの途中に現れていました。 – Elliot

61

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

スウィフトで

enter image description here

9

:あなたのviewDidLoad

tableView.separatorStyle = .None 
1

:のviewDidLoadメソッドで

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

、あなたはこの行を記述する必要があります。

tableViews.separatorStyle = UITableViewCellSeparatorStyleNone; 

これは動作するコードです。

5

ストーリーボードからseparatorStyleUITableViewCellSeparatorStyleNoneに設定しても、iOS 9ベータ4のバグがあります。セパレータはUITableViewCellの間に表示されます。これを回避するには、ストーリーボードのバグがあるため、コードから設定する必要があります。将来のベータ版で修正されることを願っています。

ここにそれを設定するためのコードは次のとおりインタフェースビルダーセットテーブルビューセパレータ「なし」

enter image description here

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 
+0

はい、私はそれが私たちの手作業になると思う:( –

5

と最後のセルの後に示されているそれらの区切り線は、以下により除去することができますアプローチ。 空のビューをviewDidLoadのtableView FooterViewに割り当てます。

self.tableView。tableFooterView = UIView()

関連する問題