私はさまざまな目的のためにたくさんの意見を持っている進行中のアプリを持っています。その中の1つでは、既存のビューを「背景」として使用し、そのフリップ内にビューを挿入したいと思っています.- iPhone/iPod上の「Now Playing」ビューと非常によく似ています。画像とトラックのリスト 誰かが私を正しい方向に向けることができますか?iTunesで今再生しているようなフリップビューですか?
0
A
答えて
4
アップルView Controller Programming Guide for iOSを見てください。私は、最も簡単な方法は、UIModalTransitionStyleFlipHorizontal
のモーダルビューをトランジションスタイルとして使用することだと思います(私が投稿したガイドの「View Controllerの表示とトランジションスタイルの選択」を参照してください)。
チュートリアル:
- http://timneill.net/2010/09/modal-view-controller-example-part-1/
- http://timneill.net/2010/11/modal-view-controller-example-part-2/
EDIT
私はあなたがUINavigationController
を使用していると思いますので、ここでは例として目に見えるナビゲーションバーを保つのViewController、です。あなたのビューコントローラの中に2番目のビューを置き、それを隠すだけです。
ViewController.h:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController {
UIView *backSideView;
}
- (IBAction)switchViews:(id)sender;
@end
ViewController.h:メソッドを実装するよりも、これらのビューを切り替える、(私はInterfaceBuilderを使用してボタンにフックIBActionを使用)
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
backSideView = [[UIView alloc] initWithFrame:[self view].bounds];
[backSideView setBackgroundColor:[UIColor greenColor]];
// ... put stuff you want inside backSideView ...
[backSideView setHidden:YES];
[[self view] addSubview:backSideView];
}
- (void)viewDidUnload
{
[super viewDidUnload];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (IBAction)switchViews:(id)sender
{
if ([backSideView isHidden])
{
[UIView transitionWithView:self.view
duration:1.0
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{ [backSideView setHidden:NO]; }
completion:^(BOOL finished){ [self setTitle:@"BackView"]; }
];
}
else
{
[UIView transitionWithView:self.view
duration:1.0
options:UIViewAnimationOptionTransitionFlipFromRight
animations:^{ [backSideView setHidden:YES]; }
completion:^(BOOL finished){ [self setTitle:@"FrontView"]; }
];
}
}
@end
なぜ私はこの質問をして投票しましたか? – wayneh
私の答えが役に立ったらフィードバックをお願いしますか? – dom