2つのテーブルビューセル間の区切り線を省略したいと思います。しかし、セパレーターがない代わりに、高さ1ピクセルの分離線が表示されます。これは、単に空白のままにするか、完全に透明であると言えます。
次のセルを上のセルに直接(ギャップなしで)接続する方法をuitableviewに伝えるにはどうすればよいですか?
2つのテーブルビューセル間の区切り線を省略したいと思います。しかし、セパレーターがない代わりに、高さ1ピクセルの分離線が表示されます。これは、単に空白のままにするか、完全に透明であると言えます。
次のセルを上のセルに直接(ギャップなしで)接続する方法をuitableviewに伝えるにはどうすればよいですか?
わかりました、私の答えを見つけて、他の人に役立つ場合に備えて共有してください。
すべてのセルを手続き的に設定したので、セパレーターをオフにしました
m_tableView setSeparatorColor:[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f]]
次に、区切りスタイルを設定します
m_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
私はそれが何もしなかったことを認めなければなりませんが、これは厄介なことかもしれません.
私にとっては、セルを構成するために cellForRowAtIndexPath が呼び出され、線を取り除くために背景画像を高さで 1 ピクセル拡張する必要があることがわかりました (これにも伸縮可能な画像を使用していますが、これも奇妙に役立つ可能性があります)。 +1要件)。私は任意の+1のファンではありませんが、これはうまくいくようです...
frameBackground.size.height += 1;
したがって、+1を承認していませんが、上記の手順はリストビューで機能し、セパレーターがなくなりました。
ヘッダーが1に設定されていることがわかりました。これを削除すると問題が修正されました(奇数セルセパレータに1ピクセルが追加されました)0に変更したところ、人生が良くなりました
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 0;
}
セパレーターを取り除くことができなかったので、最終的に UIScrollView の上に独自のテーブルビューを作成することにしました。そして、「セパレーター」はまだそこにありました!背景色を設定すると、UILabel にバグがあり、上端に沿って細い線が描画されることがあることがわかりました。修正は、レイヤーの背景を設定することです: label.layer.backgroundColor = color.CGColor;