3

ストーリーボードを使用してアプリで scrollView を設定しようとしています。すべてを正しく実行しましたが、シミュレーターまたは iPhone でスクロールビューがスクロールしません。

MoreViewController.h
@property(nonatomic, retain) IBOutlet UIScrollView *moreScroll;

MoreViewController.m
-(void)viewDidLoad{
    [moreScroll setScrollEnabled:YES];
    [moreScroll setContentSize:CGSizeMake(1220, 354)];
}

scrollView をファイル所有者に接続しました。誰か助けてください

前もって感謝します

4

3 に答える 3

4

自動レイアウトには新しい方法があります- (void)viewDidLayoutSubviews

簡単な情報は次のとおりです。ビューがサブビューをレイアウトしたことをビューコントローラに通知します。ビューの境界が変更されると、ビューはそのサブビューの位置を調整します。ビューコントローラは、このメソッドをオーバーライドして、ビューがサブビューをレイアウトした後に変更を加えることができます。このメソッドのデフォルトの実装は何もしません。

これを追加すれば大丈夫です:

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubViews];
    [moreScroll setContentSize:CGSizeMake(1220, 354)];
}
于 2012-12-19T13:40:30.073 に答える
1

スクロールビューのスクローラースタイルを設定すると、水平スクローラーと垂直スクローラーの両方のスタイルが設定されます。その後、スクロールビューが新しい水平または垂直スクローラーを作成するか、割り当てられると、スクロールビューに割り当てられたのと同じスクローラースタイルが割り当てられます。

コードに次の行を追加すると、次のようになります。

 This line in .h file

 @interface Shout_RouteView : UIViewController<UIScrollViewDelegate> 
 {

  }

 @property (retain, nonatomic) IBOutlet UIScrollView *scrollViewMain;


 This lines copy in .m file 
-(void)viewWillAppear:(BOOL)animated {

 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    scrollViewMain.frame = CGRectMake(0, 0, 768, 815);
    [scrollViewMain setContentSize:CGSizeMake(768, 1040)];
}else {
    scrollViewMain.frame = CGRectMake(0, 0, 320, 370);
    [scrollViewMain setContentSize:CGSizeMake(320, 510)];
  }
}
于 2012-12-20T05:34:00.107 に答える
0

コンテンツ設定コードを viewWillAppear または viewDidAppear メソッドに挿入することをお勧めします。表示の準備が整う前に、UI 機能を変更しようとしないことを常にお勧めします。

于 2012-12-19T10:54:03.733 に答える