3

私は、ユーティリティ アプリケーション プロジェクトに 1 つのプロジェクトがある簡単な例を書きUIScrollViewました。情報ボタンをクリックして画面を反転させて戻ると、UIScrollView応答しなくなりました。それだけでなく、Interface Builder の左上隅に意図的にスクローラーを配置し、プログラムで中央に配置しました。フリップサイドから戻ると、左上隅に移動し、反応しなくなります。なぜ?

これは私の.hファイルです:

  #import "POCFlipsideViewController.h"

    @interface POCMainViewController : UIViewController <POCFlipsideViewControllerDelegate, UIScrollViewDelegate>

    @property (nonatomic,retain) IBOutlet UIScrollView *scroller;
    @end

これは私の.mファイルです

#import "POCMainViewController.h"

@interface POCMainViewController ()

@end

@implementation POCMainViewController


@synthesize scroller =_scroller;

- (void)viewDidAppear:(BOOL)animated
{

     [_scroller setContentSize:CGSizeMake(80.0f, 320.0f)];
     [_scroller setFrame:CGRectMake(120, 131, 80, 214)];

    [super viewDidAppear:animated];
}

- (void)viewDidLoad
{
    _scroller.delegate = self;
    _scroller.showsVerticalScrollIndicator = NO;
    _scroller.decelerationRate = UIScrollViewDecelerationRateFast;

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - Flipside View

- (void)flipsideViewControllerDidFinish:(POCFlipsideViewController *)controller
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showAlternate"]) {
        [[segue destinationViewController] setDelegate:self];
    }
}

@end

残りは、Xcode から直接ボイラー プレートです。ここに画像の説明を入力

4

1 に答える 1

0

UIScrollView の原因は、多くの場合、自動レイアウトであることがわかりました。ストーリーボードで、メイン ビュー コントローラーの下にあるビュー要素を強調表示し、右側の列にある [ファイル インスペクターを表示] ウィンドウを開きます。[Interface Builder Document] の下で、[Use Auto Layout] の選択を解除し、問題が解決するかどうかを確認します。

ここに画像の説明を入力

于 2014-06-25T20:41:09.563 に答える