0

私は UIScrollview と格闘していましたが、ノックアウトされました。stackOverFlow に関する次の 2 つの投稿から参照しようとしました

scrollview xcode4.5 autolayoutXcode 4.5 UIScrollViewiOS 6 の Auto Layout を使用して ScrollView に ImageView を埋め込む

UIScrollView setContentSizeで説明されているように、viewDidLayoutSubviews を試してみまし たが、アプリがクラッシュする原因となっている Auto Layout でビューが壊れます。

ViewDidLoad、viewDidAppear、viewWillAppear を試しましたが、何も機能しませんでした。Google を試してみたところ、さらに関連する投稿がいくつか見つかりました https://coderwall.com/p/zfe8dahttp://www.devx.com/wireless/Article/45113

私は再考しようとしましたが、私がしていなかった素晴らしいことは何も見つかりませんでした. シンプルでストレートなアプローチのようです。

私は手がかりがないか、推測を助けてください。

私は次のコードを使用していますが、ScrollView に 3 つの画像を配置したことを言及しました。高さがiPhoneの画面の高さよりも大きいので、それらを積み重ねています。シンプルにスクロールするだけに設定したと思っていましたが、間違っていたと思います。 実装ファイル内

_howtoScrollView.frame = CGRectMake(0, 0, 320, 460);
_howtoScrollView.scrollEnabled = YES;
[self.howtoScrollView setContentSize:CGSizeMake(self.howtoScrollView.frame.size.width, 700)];
[self.view addSubview:_howtoScrollView];

インターフェイス ファイル .h 内

@property (weak, nonatomic) IBOutlet UIScrollView *howtoScrollView;

StoryBoard Autolayout を使用しながら ScrollView で成功した人。

4

4 に答える 4

0

を削除_howtoScrollView.frame = CGRectMake(0, 0, 320, 460);してみて、動作するかどうかを確認してください。

ビューのフレームを本当に変更する必要がある場合は、Autolayout でフレームをコードに直接設定するのではなく、Constraint代わりに を変更する必要があります。

于 2013-03-06T02:43:16.633 に答える
0

インターフェイスビルダーを使用して、

スクロール ビューの [制約] セクションを展開します。次に、「水平スペースの制約」を選択します。そのセクションの下では、おそらく「定数」値が負の値になっているはずです。に変更し0ます。それはトリックを行います。

于 2013-07-04T06:51:43.257 に答える
0

「addSubview」関数なしで実行してみてください。AutoLayout を使用すると、他の設定が上書きされると思います...

于 2013-03-07T10:29:39.973 に答える