ビューコントローラーの NSMutableArray を作成する方法に悩まされています。
次に、その配列を取得したら、左右のUIgestureスワイプを検出してビューの内外でアニメーション化する方法でそれを使用するにはどうすればよいですか...
これは、2 つのビュー間でアニメーション化するだけのジェスチャを取得する方法ですが、View Controller の配列にあるできるだけ多くのビュー間でアニメーション化したいと考えています。
- (void)swipedScreen:(UISwipeGestureRecognizer*)gesture {
//Left swipe
if (gesture.direction == UISwipeGestureRecognizerDirectionLeft) {
[UIView animateWithDuration:0.25 animations:^{
[self.detailViewB.view setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
[self.detailViewA.view setFrame:CGRectMake(-320, 0, self.view.frame.size.width, self.view.frame.size.height)];
}];
}
//Right swipe
else if (gesture.direction == UISwipeGestureRecognizerDirectionRight){
[UIView animateWithDuration:0.25 animations:^{
[self.detailViewA.view setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
[self.detailViewB.view setFrame:CGRectMake(320, 0, self.view.frame.size.width, self.view.frame.size.height)];
}];
}
}
側面として、これらのビューコントローラーをサブビューとしてロードしているマスタービューコントローラーがあります...少なくともそれは計画です..現在、ビューでこれを行っています...
http://dl.dropbox.com/u/53813770/SMPrototypeB.zip
更新しました:
これは、私が達成しようとしていることを示す図です。
配列からビューをロードするためのコードを次に示します。
DetailViewController *DVCA = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
DetailViewControllerB *DVCB = [[DetailViewControllerB alloc] initWithNibName:@"DetailViewControllerB" bundle:[NSBundle mainBundle]];
DetailViewControllerC *DVCC = [[DetailViewControllerC alloc] initWithNibName:@"DetailViewControllerC" bundle:[NSBundle mainBundle]];
//Create Array of views
viewArray = [NSArray arrayWithObjects:DVCA, DVCB, DVCC, nil];
// set detail View as first view
UIViewController *recordController = [viewArray objectAtIndex:0];
// This was the bit causing me so many issues.
[self.view addSubview:recordController.view];