This can happen when Corona is using a fractional content scale. Odds are you are setting the line width to 2 in content coordinates, but when converted to pixels, it becomes a fractional width. Since there is not such as a fractional pixel onscreen, the GPU is forced to interpolate the line the best it can across the pixels on the screen. So, as you scroll the TableView, you’ll see the line widths increase/decrease in size by 1 pixel as it scrolls.
To avoid this, you need to set the line width in pixels and not in Corona’s content coordinates. You can do so as follows…
-- The line width you want in content coordinates. local lineWidth = 2 -- Round up the line width to the nearest whole number pixel. lineWidth = math.ceil(lineWidth / display.contentScaleY) \* display.contentScaleY
One more thing to note. The above fixes this issue on all mobile device screens, but this issue will still happen in the Corona Simulator if not using a 100% zoom level. So, set the zoom level to 100% to confirm the above fixes the issue.
I hope this helps!