I have a UIDraggablePanel with a vertical list of items in it. Everything seems to work fine at first, but eventually the sprites start to exhibit some bizarre shifting behavior that I can't figure out. When I say "eventually," I mean that I tend to see this happen if I keep the app running in the background on my iPhone and then come back to it a day later, or if I keep the Unity editor running for a day or so. I've reproduced it in both places.
It looks like the drawn position of sprites is different from the actual transform position of their respective GameObjects. If I do anything in the Unity editor to change the transform of one of these shifted sprites, the sprite will jump back into the correct position as if all it needed was something to cause it to refresh its position. Like, the issue is happening on the Y axis, but if I change an affected GameObject's X position by 1 unit in the Unity editor, the drawn sprite on the screen will jump back into the correct Y position too.
The shifting seems to occur shortly after I resume the app after it's been in the background for a while, but I can't say for certain whether that's related.
The attached screenshots sum up the shifting effect better than I can really explain with words. The first screenshot is how everything looks initially, the middle ones are the shifting effect, and the last screenshot is of the Unity editor where the sprite is clearly being drawn in one place while its visible widget bounds are in a different place.
It's worth noting that all of the screenshots except for the last one were taken during the same run of the application. When I scroll the panel up and down (in and out of my hard-clipped panel), the shifting effect keeps changing.