iOS5 SDK ScrollView の挙動変更について

いりブログ
iOS5 SDK にて、UIScrollView を使った開発にて起きたトラブルについて記載します。

iOS4.3 SDK を用いて開発したiOS アプリケーションを開発中に新規にUIScrollView を用いたUI を作成しました。最低動作環境の4.1 では無事動作したのですが、5.0 で問題が起きています。

問題が起きた流れとしては、xcocde 4.2 上でUIScrollView の中に表示するコンテンツを追加、座標を書くページの開始位置に移動しました。

UIScrollView に追加した主な属性は、

Scrolling Enable = YES
Padling Enabled

Bounces = YES
Bounce Horizontally = YES
Bounce Vertically = NO

Bounces Zoom = NO

iOS 4.1 では問題無かったのですが、iOS5 では、1ページ以降が見えなくなってしまいました。確認したところ、1ページ目以外の座標が初期化されています。つまり、1ページ目の背面に他のView が表示されていまっている状態。これはいけない。

原因を調査したところ、UIScrollView の以下の属性を変更することで回避できるようです。

Autoresize Subviews = NO;

SDK のバージョンアップで挙動が変わるのは困ったものですが、これが時間的にシビアな開発で見つからなかっただけ良かったと考える方がいいかもしれません。