UIScrollView
プログラム コードで作成し、ビューに 1 つのボタンがあります ( には存在しませんUIScrollView
)。
このボタンをクリックすると、モーダル遷移で次のページに移動します。次のページにキャンセルボタンを作成し、クリックするとメインページに戻ります(このページには がありますUIScrollView
)。
キャンセルボタンをクリックしてメインページに戻ったときに、メインページにあるメソッドを1つ呼び出し、このメソッドでContentOfSet
ScrollViewを変更したい...しかし機能しない!!!!
これは私のコードです:
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が機能しないのか、とても混乱しました!!!