0

UIScrollViewプログラム コードで作成し、ビューに 1 つのボタンがあります ( には存在しませんUIScrollView)。

このボタンをクリックすると、モーダル遷移で次のページに移動します。次のページにキャンセルボタンを作成し、クリックするとメインページに戻ります(このページには がありますUIScrollView)。

キャンセルボタンをクリックしてメインページに戻ったときに、メインページにあるメソッドを1つ呼び出し、このメソッドでContentOfSetScrollViewを変更したい...しかし機能しない!!!!

これは私のコードです:

mainView.m

- (void)viewDidLoad{
    UIScrollView *scrollbar = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,width, height)];
    scrollbar.directionalLockEnabled = YES;
    scrollbar.backgroundColor = [UIColor whiteColor];
    scrollbar.maximumZoomScale = 1.0;
    scrollbar.minimumZoomScale = 1.0;
    scrollbar.clipsToBounds = YES;
    scrollbar.showsHorizontalScrollIndicator = YES;
    scrollbar.pagingEnabled = YES;
    [scrollbar setContentSize:CGSizeMake(scrollbar.frame.size.width * 4,scrollbar.frame.size.height)];
    scrollbar.contentOffset = CGPointMake(0, 0);
    scrollbar.delegate = self;
    [self.view addSubview:scrollbar];

    [super viewDidLoad];
}

-(void)ChangeMainScrollContentOffset{
    scrollbar.contentOffset = CGPointMake(scrollbar.frame.size.width * (3), 0);
}

このボタンはルートビューにあります:

- (IBAction)AddView:(id)sender{
    AddStationController *add =  [[AddStationController alloc]initWithNibName:@"AddStationController" bundle:nil];
    [add setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
    [self.view.window.rootViewController presentViewController:add animated:YES completion:nil];
}

このボタンは、私のmainViewに戻るためのキャンセルボタンです:

- (IBAction)BackView:(id)sender{
    mainView *main = [[mainView alloc]init];
    [main ChangeMainScrollContentOffset];

    [self dismissViewControllerAnimated:YES completion:nil];
}

それについて私を案内してください!!! なぜContentOffSetが機能しないのか、とても混乱しました!!!

4

2 に答える 2

0

ViewController.h ファイルにChangeMainScrollContentOffsetメソッドを追加しなかったことが問題だと思います。

ViewController.h ファイルに追加して呼び出すだけです。

于 2014-07-12T12:24:33.473 に答える