I share your concern about drift, but in practice I've never seen it become a problem. On the other hand, blurry views really stick out. The easiest way to avoid them is to have a category method on UIView called something like "alignOrigin", in which you grab the value of "self.window.screen.scale" and make sure to snap both the x and y of the origin to be a multiple of the reciprocal of that scale. For example, if the scale is 1, you snap to integer bounds. If it's 2.0, you snap to multiples of 0.5. If you call that method every time you adjust the view's position (especially after manipulating "center"), that'll keep everything looking sharp at all times, and is future-proof against any new screen densities Apple might someday release.