সম্পাদনা: নতুন উত্তর যা কোনও দিকনির্দেশনায় কাজ করে।
মূল উত্তরটি কেবল তখনই কাজ করে যখন ইন্টারফেসটি প্রতিকৃতি নির্দেশে থাকে। এটি খ / সি ভিউ রূপান্তর অ্যানিমেশন যা উইন্ডোতে যুক্ত হওয়া প্রথম দর্শন নীচের কমপক্ষে একটি স্তরের দৃশ্যের সাথে দর্শন ডাব্লু / আলাদা ভিউ অবশ্যই উপস্থিত হবে (উদাঃwindow.rootViewController.view.anotherView
)।
আমি কল করেছি এমন একটি সাধারণ ধারক শ্রেণি প্রয়োগ করেছি TransitionController
। আপনি এটি https://gist.github.com/1394947 এ খুঁজে পেতে পারেন ।
অন্যদিকে, আমি পৃথক শ্রেণিতে প্রয়োগটি পছন্দ করি খ / সি এর পুনরায় ব্যবহার করা সহজ। আপনি যদি এটি না চান তবে আপনি TransitionController
ক্লাসের প্রয়োজনীয়তা হ্রাস করে সরাসরি আপনার অ্যাপের প্রতিনিধিতে একই যুক্তিটি প্রয়োগ করতে পারেন । আপনার যে যুক্তিটি প্রয়োজন তা একই হবে।
এটি নিম্নলিখিত হিসাবে ব্যবহার করুন:
আপনার অ্যাপের প্রতিনিধি
// add a property for the TransitionController
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
MyViewController *vc = [[MyViewContoller alloc] init...];
self.transitionController = [[TransitionController alloc] initWithViewController:vc];
self.window.rootViewController = self.transitionController;
[self.window makeKeyAndVisible];
return YES;
}
যে কোনও ভিউ কন্ট্রোলার থেকে একটি নতুন ভিউ কন্ট্রোলারে স্থানান্তরিত করতে
- (IBAction)flipToView
{
anotherViewController *vc = [[AnotherViewController alloc] init...];
MyAppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
[appDelegate.transitionController transitionToViewController:vc withOptions:UIViewAnimationOptionTransitionFlipFromRight];
}
সম্পাদনা: নীচের মূল উত্তর - কেবল পোর্টেট অভিমুখীকরণের জন্য কাজ করে
এই উদাহরণের জন্য আমি নিম্নলিখিত অনুমানগুলি করেছি:
rootViewController
আপনার উইন্ডোর মত হিসাবে নিযুক্ত একটি ভিউ কন্ট্রোলার রয়েছে
আপনি যখন একটি নতুন দৃশ্যে স্যুইচ করেন আপনি নতুন ভিউটির মালিকানার সাথে ভিউকন্ট্রোলারের সাথে বর্তমান ভিউ কন্ট্রোলারকে প্রতিস্থাপন করতে চান। যে কোনও সময়ে, কেবলমাত্র বর্তমান ভিউকন্ট্রোলার জীবিত (যেমন বরাদ্দকৃত)।
কোডটি সহজেই আলাদাভাবে কাজ করার জন্য পরিবর্তন করা যেতে পারে, মূল পয়েন্টটি হ'ল অ্যানিমেটেড ট্রানজিশন এবং সিঙ্গল ভিউ কন্ট্রোলার। নিশ্চিত হয়ে নিন যে আপনি কোনও ভিউ কন্ট্রোলারকে এটি বরাদ্দ করার বাইরে কোথাও ধরে রেখেছেন না window.rootViewController
।
অ্যাপের প্রতিনিধিতে স্থানান্তরকে প্রাণবন্ত করার কোড
- (void)transitionToViewController:(UIViewController *)viewController
withTransition:(UIViewAnimationOptions)transition
{
[UIView transitionFromView:self.window.rootViewController.view
toView:viewController.view
duration:0.65f
options:transition
completion:^(BOOL finished){
self.window.rootViewController = viewController;
}];
}
দর্শন নিয়ামক ব্যবহারের উদাহরণ
- (IBAction)flipToNextView
{
AnotherViewController *anotherVC = [[AnotherVC alloc] init...];
MyAppDelegate *appDelegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate;
[appDelegate transitionToViewController:anotherVC
withTransition:UIViewAnimationOptionTransitionFlipFromRight];
}