Index: wp-admin/css/customize-controls.dev.css
===================================================================
--- wp-admin/css/customize-controls.dev.css	(revision 20993)
+++ wp-admin/css/customize-controls.dev.css	(working copy)
@@ -483,4 +483,35 @@
 .customize-section .customize-control-upload .upload-dropzone.supports-drag-drop.drag-over,
 .customize-section .customize-control-image .upload-dropzone.supports-drag-drop.drag-over {
 	border-color: #83b4d8;
-}
\ No newline at end of file
+}
+
+/**
+ * iOS can't scroll iframes,
+ * instead it expands the iframe size to match the size of the content
+ */
+body.ios {
+	position: static;
+	z-index: 0;
+	overflow: auto;
+}
+
+.ios #customize-controls {
+	right: auto;
+	width: 250px;
+	position: fixed;
+}
+
+.ios #customize-preview {
+	position: relative;
+	left: 250px;
+}
+
+.ios.collapsed #customize-preview {
+	left: 0;
+	width: 100%
+}
+
+.ios.collapsed #customize-controls {
+	margin-left: -250px;
+}
+
Index: wp-admin/customize.php
===================================================================
--- wp-admin/customize.php	(revision 20993)
+++ wp-admin/customize.php	(working copy)
@@ -39,6 +39,18 @@
 wp_user_settings();
 _wp_admin_html_begin();
 
+$body_class = 'wp-full-overlay';
+
+if ( wp_is_mobile() ) {
+	$body_class .= ' mobile';
+	if ( strpos($_SERVER['HTTP_USER_AGENT'], 'iPad')
+		|| strpos($_SERVER['HTTP_USER_AGENT'], 'iPod')
+		|| strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone') )
+			$body_class .= ' ios';
+
+	?><meta name="viewport" id="viewport-meta" content="width=device-width, initial-scale=0.8, minimum-scale=0.5, maximum-scale=2.0"><?php
+}
+
 $admin_title = sprintf( __( '%1$s &#8212; WordPress' ), strip_tags( sprintf( __( 'Customize %s' ), $wp_customize->theme()->display('Name') ) ) );
 ?><title><?php echo $admin_title; ?></title><?php
 
@@ -46,7 +58,7 @@
 do_action( 'customize_controls_print_scripts' );
 ?>
 </head>
-<body class="wp-full-overlay">
+<body class="<?php echo $body_class; ?>">
 	<form id="customize-controls" class="wrap wp-full-overlay-sidebar">
 		<?php wp_nonce_field( 'customize_controls' ); ?>
 		<div id="customize-header-actions" class="wp-full-overlay-header">
