4

3.5インチのiPhoneと5インチのiPhone(シミュレーター)の両方にフィットするレイアウトを設計するのに苦労しています。自動レイアウトをチェックしたところ、すべてのレイアウトが完璧でした。ただし、UIScrollView を使用する必要があるため、自動レイアウトをオフにして使用する必要があります。

また、iPhone 4 インチ ディスプレイでレイアウトを表示すると、UIScrollView の上部に約 60px が追加されます。

これを行うためのより良い方法はありますか (自動レイアウトの選択を解除せずにスクロールビューを設定します)? だから私はiPhone 4をサポートすることができます。

//to set up the scrollview
[self.scrollView setScrollEnabled:YES];
[self.scrollView setContentSize:CGSizeMake(320, 800)];

ただし、自動レイアウトのチェックを外すまでスクロールしません。これを行うより良い方法はありますか?

4

4 に答える 4

1

自動サイズ変更を試してください。

 self.scrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin);
于 2013-10-10T10:59:09.720 に答える
0

UIScrollViewAutolayout を使用する場合は少し異なります。いくつかの変更を行う必要があります。あなたの答えはここにあります。

于 2013-10-10T10:51:21.597 に答える
0

これを試してください(私の問題は解決しました):

scrollView addConstraint:[NSLayoutConstraint constraintWithItem:lastSubView
                                         attribute:NSLayoutAttributeRight
                                         relatedBy:NSLayoutRelationEqual
                                            toItem:scrollView
                                         attribute:NSLayoutAttributeRight
                                        multiplier:1.0
                                          constant:0]];

参照: UIScrollView は autolayout 制約を使用しません

于 2013-11-18T19:27:22.850 に答える
0

に対してこのようなことができますUIScrollView frame。以下の CGRect に従ってフレームを scrollview に割り当てます。

CGRect rect=[[UIScreen mainScreen] bounds];

うまくいけば、これはあなたのために働くでしょう。

于 2013-10-10T10:58:21.590 に答える