UITableView のセパレーターの描画がおかしい

まずはこれを見て欲しい。

f:id:griefworker:20140409194344p:plain

UITableView のセパレーターがおかしなことになっている。 左端に隙間が開いているものもあれば、左端までぴったり線が描画されているものもある。 左端までぴったり線が描画されているものは、線も少し太い。

UITableView の separatorStyle を UITableViewCellSeparatorStyleNone にしても、左端まで達している線は残る。 カスタムセルを使っているけど、border を設定してはいない…。

ほとんど諦めかけていたんだけど、ふと 「行の高さがおかしいのかも」と思って、行の高さをコンソールに出力してみたら

123.789993286133
123.789993286133
123.789993286133
123.789993286133
123.789993286133
123.789993286133

案の定、浮動小数点数ばっかり。 試しに round で小数点以下を切り上げてみたら

f:id:griefworker:20140409194418p:plain

変な線が表示されなくなった! 原因に気付くまでに2日かかってしまったよ…。解決してよかった。