@property (nonatomic, strong) UINavigationController *navigationController;
@end
@implementation AppDelegate
β¦
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ initWithRootViewController:, ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π°ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΠ°Π»Π΅Π΅ ΠΌΡ Π·Π°Π΄Π°Π΄ΠΈΠΌ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π° Π² Π½Π°ΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅. ΠΠ΄Π΅ΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ β Π½Π΅ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ. UINavigationController β ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ UIViewController, Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ rootViewController, ΠΎΡΠ½ΠΎΡΡΡΠ΅Π΅ΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΎΠΊΠ½Ρ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° UIViewController. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ Π½Π°ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°, ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°Π΄Π°ΡΡ Π΅Π³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°:
β (BOOL) application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
FirstViewController *viewController = [[FirstViewController alloc]
initWithNibName: nil
bundle: nil];
self.navigationController = [[UINavigationController alloc]
initWithRootViewController: viewController];
self.window = [[UIWindow alloc]
initWithFrame: [[UIScreen mainScreen] bounds]];
self.window.rootViewController = self.navigationController;
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ (ΡΠΈΡ. 1.33).
Π ΠΈΡ. 1.33. ΠΡΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π°, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠΉ Π²Π½ΡΡΡΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
Π€Π°ΠΉΠ» ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π° ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ Π² ΡΠ΅Π½ΡΡΠ΅ ΡΠΊΡΠ°Π½Π° (ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 1.33). Π§ΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΡ ΠΈΠ·ΡΡΠΈΠΌ ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ° ΡΠΈΡ. 1.33 ΠΌΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°ΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΏΠΎΠ»ΠΎΡΡ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°. Π’Π΅ΠΏΠ΅ΡΡ ΡΠΊΡΠ°Π½ ΡΠΆΠ΅ Π½Π΅ ΡΠΈΡΡΠΎ-Π±Π΅Π»ΡΠΉ. Π§ΡΠΎ ΡΡΠΎ Π·Π° Π½ΠΎΠ²ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ? ΠΡΠΎ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ. ΠΡ Π±ΡΠ΄Π΅ΠΌ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅Ρ ΠΏΡΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠΌ Π½Π° Π½Π΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠ΅-ΡΡΠΎ Π΅ΡΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π° ΡΡΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π° ΡΠ°ΠΌ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° Π²Π΅ΡΡ Π½Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΡΡΠ΅ΠΊΠ΅.
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ°ΠΉΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π½Π°ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ viewDidLoad. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π° ΡΠΊΠ°ΠΆΠ΅ΠΌ First Controller. ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ. ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΌΠ΅Ρ ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΌΡ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΠΌ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π²ΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π°:
#import Β«FirstViewController.hΒ»
#import Β«SecondViewController.hΒ»
@interface FirstViewController ()
@property (nonatomic, strong) UIButton *displaySecondViewController;
@end
@implementation FirstViewController
β (void) performDisplaySecondViewController:(id)paramSender{
SecondViewController *secondController = [[SecondViewController alloc]
initWithNibName: nil
bundle: NULL];
[self.navigationController pushViewController: secondController
animated: YES];
}
β (void)viewDidLoad{
[super viewDidLoad];
self.title = @"First Controller";
self.displaySecondViewController = [UIButton
buttonWithType: UIButtonTypeSystem];
[self.displaySecondViewController
setTitle:@"Display Second View Controller"
forState: UIControlStateNormal];
[self.displaySecondViewController sizeToFit];
self.displaySecondViewController.center = self.view.center;
[self.displaySecondViewController
addTarget: self
action:@selector(performDisplaySecondViewController:)
forControlEvents: UIControlEventTouchUpInside];
[self.view addSubview: self.displaySecondViewController];
}
@end
Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²ΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π°, ΡΠΆΠ΅ Π±Π΅Π· ΡΠ°ΠΉΠ»Π° XIB, ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ SecondViewController. ΠΡΠΎΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠΎΡ ΠΆΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΡΠΎ Π±ΡΠ» ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 1.9. ΠΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π°, Π½Π°Π·ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ Second Controller:
#import Β«SecondViewController.hΒ»
@implementation SecondViewController
β (void)viewDidLoad{
[super viewDidLoad];
self.title = @"Second Controller";
}
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ Π²ΡΠΏΠ»ΡΡΡ ΠΈΠ· Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π° ΡΠ΅ΡΠ΅Π· 5 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π° ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ performSelector: withObject: afterDelay: ΠΎΠ±ΡΠ΅ΠΊΡΠ° NSObject, ΡΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ goBack. ΠΡΠΎΡΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΡΠ΅ΡΠ΅Π· 5 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΡΠΎΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΠΈΠ΄. Π ΠΌΠ΅ΡΠΎΠ΄Π΅ goBack ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ navigationController ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π° (Π° ΠΎΠ½ΠΎ Π²ΡΡΡΠΎΠ΅Π½ΠΎ Π² UIViewController, ΠΈ Π½Π°ΠΌ ΡΠ°ΠΌΠΈΠΌ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π΅Π³ΠΎ ΠΏΠΈΡΠ°ΡΡ), ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ FirstViewController. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ popViewControllerAnimated: Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ YES, ΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Π²ΠΈΠ΄Π° Π±ΡΠ΄Π΅Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡΡΡ, Π΅ΡΠ»ΠΈ NO β Π½Π΅ Π±ΡΠ΄Π΅Ρ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΠΊΠ°ΠΊ Π½Π° ΡΠΈΡ. 1.34.
Π ΠΈΡ. 1.34. ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π° ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π°
#import Β«SecondViewController.hΒ»
@implementation SecondViewController
β (void)viewDidLoad{
[super viewDidLoad];
self.title = @"Second Controller";
}
β (void) goBack{
[self.navigationController popViewControllerAnimated: YES];
}
β (void) viewDidAppear:(BOOL)paramAnimated{
[super viewDidAppear: paramAnimated];
[self performSelector:@selector(goBack)
withObject: nil
afterDelay:5.0f];
}
@end
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π½Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²ΠΈΠ΄Π°, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠ΅Π³ΠΎ Π²Π΅ΡΡ Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΡΡΠ΅ΠΊΠ΅, ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΠ°Π·Π°Π΄, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°. Π ΡΡΠ΅ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π²ΠΈΠ΄ΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠΈΡΠ΅, ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π½Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΠ°Π·Π°Π΄, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΠ»ΠΈΡΡΠ°ΡΡ Π½Π°Π·Π°Π΄ Π²Π΅ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°.
ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΠΊΡΠΎΠ΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π΅ΡΠ΅ 5 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΏΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°. ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅ Π΅ΡΠ΅ 5 ΡΠ΅ΠΊΡΠ½Π΄ β ΠΈ Π²ΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΉΠ΄Π΅Ρ Ρ ΡΠΊΡΠ°Π½Π°, ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ² ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
Π Π°Π·Π΄Π΅Π» 1.9.
1.13. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π²ΠΈΠ΄ΠΎΠ², ΠΎΡΠ½ΠΎΡΡΡΠΈΡ ΡΡ ΠΊ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π²ΠΈΠ΄ΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ viewControllers ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° UINavigationController Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π²ΠΈΠ΄ΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°:
β (void) goBack{
/* ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π²ΠΈΠ΄ΠΎΠ². */
NSArray *currentControllers = self.navigationController.viewControllers;
/* Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΠΌΠ°ΡΡΠΈΠ². */
NSMutableArray *newControllers = [NSMutableArray
arrayWithArray: currentControllers];
/* Π£Π΄Π°Π»ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°. */
[newControllers removeLastObject];
/* ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ. */
self.navigationController.viewControllers = newControllers
}
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ Π²Π½ΡΡΡΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π²ΠΈΠ΄Π°, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π½ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π° ΠΈΠ· ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ Π²ΠΈΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° UINavigationController ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² UIViewController. ΠΠΎΠ»ΡΡΠΈΠ² ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ³ΠΎΠ΄Π½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΈΠ΄Π° ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.
ΠΡΠ»ΠΈ ΠΌΡ Π½Π°ΠΏΡΡΠΌΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ Π²ΠΈΠ΄ΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ, ΡΠΎ Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ²ΠΎΠΉΡΡΠ²Ρ viewControllers Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΠΎ Π²Π΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ΠΊΠ°ΡΡ Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ ΠΈ Π±Π΅Π· Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ setViewControllers: animated:, ΠΎΡΠ½ΠΎΡΡΡΠΈΠΉΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ UINavigationController, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°:
β (void) goBack{
/* ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π²ΠΈΠ΄ΠΎΠ². */
NSArray *currentControllers = self.navigationController.viewControllers;
/* Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΠΌΠ°ΡΡΠΈΠ². */
NSMutableArray *newControllers = [NSMutableArray