0

Why do some iPhone apps have distorted User Interfaces (UI) when run on iPads? How can iPhone apps run on iPads at all?

closed as unclear what you're asking by fsb, IconDaemon, Monomeeth, bmike Jun 2 '17 at 1:51

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • How technical are you looking to get with this question? Apple basically takes the iPhone screen and magnifies it for the iPad. – fsb Jun 1 '17 at 13:18
  • @fsb yes but y design are not same as iPhone ? – Kishore Kumar Jun 1 '17 at 13:51
  • Why do you think iPhone and iPad run a very different OS? – Jash Jacob Jun 1 '17 at 17:40
  • I know both are same os ,I am asking about the screen variation in 2x and 1x mode ,iPhone apps are compatible with iPad with 1x and 2x resolution logic – Kishore Kumar Jun 1 '17 at 17:42
  • similar question stackoverflow.com/questions/39193450/… – Evan Rosica Jun 1 '17 at 18:50
2

Internally iPhones and iPads are very similar. They are both have the same operating system iOS, are programmed using the same language (Swift or Objective C), using the same tools (say XCode). Thus the logic of iPhone apps will work on Ipads and Vice Versa. However, iPhones and Ipads have different screen sizes and pixel densities, which the developer must take into account when writing the app. Otherwise the GUI (ie "app's screen"), will not look correct.

Let me explain in more detail, suppose you're developing an App, which shows a square to the user. You could simply program the square to have sides of say L = 2000 pixels. However, different screens have different numbers of pixels, and different pixel densities. Thus on a 1920x1080 monitor, you couldn't see the square, while on a 4 or 5k monitor the square would show up fine. Thus, as a developer, you must write your App so that it is able to compensate for the size and pixel density of the display.

Size can be accounted for by parameterizing your variables in terms of the screen size, in other words, making the variable a function of the screen size. For example, say the display has width = x, and height = y. To make sure the square fits on the screen, we can set the length of the side L = min{x/2,y/2}. Thus no side of the square will be larger than either half the height or width of the screen, whichever is smaller. Therefore, by defining each element of the UI in proportion to the screen size in pixels, all the App needs is the new screen size, and it can adjust the UI automatically if it has been coded as described. If an app has not been coded as described, then it cannot change its size to fit the screen, and thus can only be viewed at its original resolution (say the resolution of the iPhone) on a subset of the screen (say the iPpad).

Compensating for different pixel densities is harder, and is discussed in this article.

P.S. In researching this article, I learned that iOS developers are required to submit 3 different size images. Thus the bitmap images can scale along with the parameterized elements of the UI. See here, here, here. Moreover, by the Apple Developer Guidelines, section 2.4.1 "iPhone apps should run on iPad whenever possible" . They point developers to this article

Not the answer you're looking for? Browse other questions tagged .