0

IBで大きなビューを作成し、それをスクロールビューに追加したいと思います。そうするために、私はこれらの指示に従いました。

ビューはスクロールビューで正しく描画されますが、スクロールできません。コンテンツサイズを記録しましたが、すべて正しいです。Content view size: 320.000000 x 714.000000

スクロールビューに置き換える[self.view addSubview:self.contentView];[self.view addSubview:[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 1)]];、予想どおり空になりますが、少なくともスクロールバーが表示され、スクロールできます。nibファイルのビューに何か問題がありますか?

これが私のviewDidLoad

[super viewDidLoad];
[self.navigationController setToolbarHidden:YES animated:YES];

NSLog(
    @"Content view size: %f x %f",
    _contentView.frame.size.width,
    _contentView.frame.size.height);
[self.view addSubview:self.contentView];
((UIScrollView *)self.view).contentSize = self.contentView.frame.size;

私のコードの唯一の違いは、ナビゲーションコントローラー内にスクロールビューがあることです。それは違いを生みますか?

4

2 に答える 2

1

問題は、「ファイルの所有者のビューアウトレットをスクロールビューに設定する」という4番目のポイントにあります。代わりに、ヘッダーファイルにscrollviewのアウトレットを設定します。そして、viewDidLoadのコードを次のように変更します。

- (void)viewDidLoad
{
    [super viewDidLoad];
    [scrollview addSubview:self.contentView];
    scrollview.contentSize = self.contentView.frame.size;
}

その後、その仕事は完璧です。

于 2013-02-05T12:06:08.703 に答える
0

以下のようになります

//Considering self.contentView as UIScrollView added in xib
UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0,0,320,700)];
[self.contentView addSubView:view];
[self.contentView setContentSize:CGSizeMake(320,700)];

上記のコードは確実に機能するはずです。

于 2013-02-05T11:39:33.513 に答える