私はUIPageController
xib ファイルに配置したので、適切な配置を取得できましたが、xib に設定された「currentPage」の値は、以下のように別の値に設定しようとしたときに currentPage が想定する値です。UIScrollView
途中から開始するときにmy を適切な初期画像に設定するコード行(つまり、ページ 0 ではない):
aScrollView.contentOffset = CGPointMake((currentIndex + 0.0) * screenWidth, 0.0);
呼び出す
-(void) scrollViewDidScroll: (UIScrollView*) aScrollView
{
// Update the page control to match the current scroll:
CGPoint offset = aScrollView.contentOffset;
float width = self.view.frame.size.width;
int pageNumber = (int)(offset.x / width);
uiPageControl.currentPage = pageNumber;
NSLog(@"%g // %g = %d", offset.x, width, (int)(offset.x/width));
}
pageNumber 整数は正しいので、オフセットから目的のページ番号を適切に計算しています。ただし、currentPage を手動で (プログラムで) 設定しようとすると、pageNumber に設定されず、xib の値に設定されます。
簡単な解決策は、xib を使用せずにすべてプログラムで行うことですが、座標などの知識がなくても配置するのは簡単だったので、xib で を引き続き使用する方法を知りたいですUIPageController
。通常、xib に設定されている属性はプログラムで上書きできるので、このバグには本当に驚きました。currentPage を適切に設定する方法について何か提案はありますか?
ご協力いただきありがとうございます!