UIScrollView に CATiledLayer に基づく UIView を追加しています。
ビューが最初に読み込まれるとき、UIScrollView の zoomScale を設定することで、UIView に合わせようとしています - これは UIView と階層化されたコンテンツに適合します。
画像のタイルを取得する方法があり、drawLayer:inContext でレンダリングしています。
これで、CATiledLayer ビューの scrollview/frame の contentsize が UIScrollView より大きい場合でも、最初はスクロールしません。
画面をつまんでズームしようとした瞬間、完璧にスクロールできます。
drawLayer:inContext で CGContext をスケーリングできません。これは、受け取ったコンテキストが画像全体ではなくタイルのものであり、画像を構成する 20 個のタイルがあるためです。