0

ページ全体から端の 10px のマージンを差し引いたページに UIScroll ビューを配置しようとしています。これは私がやったことです。ただし、デバイスの回転に合わせて UIScrollView のサイズを変更し、10px のマージンを維持することも必要です。これまでの私のコードは次のとおりです。

// Get the screen dimensions, considering the status bar
scrollWidth = self.getScreenSize.width   // evaluates to 1004 in landscape & 748 in portrait
scrollHeight = self.getScreenSize.height // evaluates to 728 in landscape & 984 in portrait

scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10,10,scrollWidth,scrollHeight)];
[scrollView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];

... other stuff to load scrollview content ...

[self.view addSubview:scrollView];

[scrollView setAutoresizingMask.....] 行を削除すると、scrollView は完全に収まりますが、デバイスの回転には反応しません。

私は何を間違っていますか?

4

2 に答える 2

0

shouldAutorotateToInterfaceOrientation画面が回転するタイミングを検出し、スクロール ビューのフレームを変更するために使用します。

CGRect frame = scrollView.frame
//Change frame
scrollView.frame = frame;
于 2013-05-02T13:53:24.173 に答える
0

6.0 以降をターゲットにしている場合は、AutoLayout / Constraints を使用してください。フレームと境界と中心を扱うよりもはるかに簡単です。

于 2013-05-02T14:08:41.863 に答える