プレーンなスタイルのUITableViewがあり、そのセルはUITableViewCellのサブクラスです。
セルサブクラスで、drawRectをオーバーライドして、この描画コードを(垂直セパレーターの場合)配置します。
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(c, [[UIColor grayColor] CGColor]);
CGContextBeginPath(c);
CGContextMoveToPoint(c, self.frame.size.height + 0.5f, 0);
CGContextAddLineToPoint(c, self.frame.size.height + 0.5f, self.frame.size.height);
CGContextStrokePath(c);
それはうまくいきました。ただし、テーブルビューのスタイルをグループ化に変更しました。線は引かれていません。ブレークポイントを設定すると、drawRectメソッドが呼び出されます。
特に、テーブルビューセルをすでにサブクラス化していて、セルに描画したいだけなので、小さな線を描画するためだけにUIViewをサブクラス化することは避けたいと思います。では、なぜコードがグループ化されたテーブルビューで突然機能しなくなるのでしょうか。