Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«iOS. ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ программирования». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 30

Автор Π’Π°Π½Π΄Π°Π΄ Нахавандипур

NSForegroundColorAttributeName: [UIColor redColor],

NSBackgroundColorAttributeName: [UIColor blackColor]

};

А слово SDK создаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²:

NSShadow *shadow = [[NSShadow alloc] init];

shadow.shadowColor = [UIColor darkGrayColor];

shadow.shadowOffset = CGSizeMake(4.0f, 4.0f);


NSDictionary *attributesForSecondWord = @{

NSFontAttributeName: [UIFont boldSystemFontOfSize:60.0f],

NSForegroundColorAttributeName: [UIColor whiteColor],

NSBackgroundColorAttributeName: [UIColor redColor],

NSShadowAttributeName: shadow

};


Π‘ΠΎΠ±Ρ€Π°Π² всС вмСстС, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ создаСт Π½Π°ΡˆΡƒ подпись, Π½ΠΎ ΠΈ Π·Π°Π΄Π°Π΅Ρ‚ для Π½Π΅Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ тСкст:


#import Β«ViewController.hΒ»


@interface ViewController ()

@property (nonatomic, strong) UILabel *label;

@end


@implementation ViewController


β€” (NSAttributedString *) attributedText{


NSString *string = @"iOS SDK";


NSMutableAttributedString *result = [[NSMutableAttributedString alloc]

initWithString: string];

NSDictionary *attributesForFirstWord = @{

NSFontAttributeName: [UIFont boldSystemFontOfSize:60.0f],

NSForegroundColorAttributeName: [UIColor redColor],

NSBackgroundColorAttributeName: [UIColor blackColor]

};


NSShadow *shadow = [[NSShadow alloc] init];

shadow.shadowColor = [UIColor darkGrayColor];

shadow.shadowOffset = CGSizeMake(4.0f, 4.0f);


NSDictionary *attributesForSecondWord = @{

NSFontAttributeName: [UIFont boldSystemFontOfSize:60.0f],

NSForegroundColorAttributeName: [UIColor whiteColor],

NSBackgroundColorAttributeName: [UIColor redColor],

NSShadowAttributeName: shadow

};


/* ΠΠ°Ρ…ΠΎΠ΄ΠΈΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ iOS Π² Ρ†Π΅Π»ΠΎΠΉ строкС ΠΈ Π·Π°Π΄Π°Π΅ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ для этого Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° */

[result setAttributes: attributesForFirstWord

range: [string rangeOfString:@"iOS"]];


/* Π”Π΅Π»Π°Π΅ΠΌ Ρ‚ΠΎ ΠΆΠ΅ самоС со ΡΡ‚Ρ€ΠΎΠΊΠΎΠΉ SDK */

[result setAttributes: attributesForSecondWord

range: [string rangeOfString:@"SDK"]];


return [[NSAttributedString alloc] initWithAttributedString: result];


}


β€” (void)viewDidLoad{

[super viewDidLoad];


self.label = [[UILabel alloc] init];

self.label.backgroundColor = [UIColor clearColor];

self.label.attributedText = [self attributedText];

[self.label sizeToFit];

self.label.center = self.view.center;

[self.view addSubview: self.label];


}


@end

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Π Π°Π·Π΄Π΅Π»Ρ‹ 1.17 ΠΈ 1.18.

1.27. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΎΠ² «Основной β€” Π΄Π΅Ρ‚Π°Π»ΠΈΒ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ UISplitViewController

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

НСобходимо максимально эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ большой экран iPad, прСдставив Π½Π° Π½Π΅ΠΌ Π΄Π²Π° располоТСнных рядом ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²ΠΈΠ΄ΠΎΠ².

РСшСниС

Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ классом UISplitViewController.

ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π²ΠΈΠ΄ΠΎΠ² split view (Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ эти Π²ΠΈΠ΄Ρ‹ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ экранами) Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² iPad. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с iPad, Ρ‚ΠΎ, вСроятно, ΡƒΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с Π½ΠΈΠΌΠΈ. МоТно просто ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Settings (Настройки) Π² альбомном Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ. Π’ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ экрана ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° рис. 1.70?

Π£ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ экрана Π΅ΡΡ‚ΡŒ лСвая ΠΈ правая стороны. Π‘Π»Π΅Π²Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ основныС настройки. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· этих настроСк ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Π΅Ρ‚Π°Π»ΠΈ этого элСмСнта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ экрана.

Π”Π°ΠΆΠ΅ Π½Π΅ ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΠ½ΡΡ‚Π°Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° UISplitViewController Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ устройствС, ΠΊΡ€ΠΎΠΌΠ΅ iPad. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Рис. 1.70. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ экраном Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Settings (Настройки) Π² iPad


Apple ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ упростила процСсс создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² основС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π»Π΅ΠΆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ экранами. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π°, просто Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги.

1. Π’ Xcode ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню File (Π€Π°ΠΉΠ») ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ New\New Project (Новый\ Новый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚).

2. Π’ ΠΎΠΊΠ½Π΅ New Project (Новый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚) Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ слСва iOS\Application (iOS\ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅), Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Master-Detail Application (ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Основной β€” Π΄Π΅Ρ‚Π°Π»ΠΈΒ») (рис. 1.71) ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Next (Π”Π°Π»Π΅Π΅).


Рис. 1.71. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π² Xcode шаблон прилоТСния «Основной β€” Π΄Π΅Ρ‚Π°Π»ΠΈΒ»


3. ΠΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ экранС Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ вашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для сСмСйства устройств ΡƒΠΊΠ°Π·Π°Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Universal (Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅). ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ создаваСмоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π½Π° iPhone, ΠΈ Π½Π° iPad (рис. 1.72). Π‘Π΄Π΅Π»Π°Π² это, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Next (Π”Π°Π»Π΅Π΅).


Рис. 1.72. Π—Π°Π΄Π°Π΅ΠΌ Π² Xcode настройки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° «Основной β€” Π΄Π΅Ρ‚Π°Π»ΠΈΒ»


4. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ мСсто для сохранСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π‘Π΄Π΅Π»Π°Π² это, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Create (Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ).

Π˜Ρ‚Π°ΠΊ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ создан. На ΠΊΠ½ΠΎΠΏΠΊΠ΅ поэтапного Π²Ρ‹Π±ΠΎΡ€Π° Scheme (Π‘Ρ…Π΅ΠΌΠ°), располоТСнной Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² эмуляторС iPad, Π° Π½Π΅ Π² эмуляторС iPhone. Если Π² Xcode создаСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Основной β€” Π΄Π΅Ρ‚Π°Π»ΠΈΒ», Ρ‚ΠΎ Xcode обСспСчиваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π½Π° iPhone, Π½ΠΎ ΠΏΡ€ΠΈ запускС прилоТСния Π½Π° iPhone структура Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΎΠΉ, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΏΡ€ΠΈ запускС Π½Π° iPad. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ окаТСтся Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²ΠΈΠ΄Π°. Если Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° iPad, Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ экран, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ располоТСны Π΄Π²Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²ΠΈΠ΄Π°.

Π’ шаблонС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ экраном Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ:

β€’ MasterViewController β€” ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ основного Π²ΠΈΠ΄Π°, Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ Π² Π»Π΅Π²ΠΎΠΉ части Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ экрана Π² iPad. Π’ iPhone это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ;

β€’ DetailViewController β€” ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π²ΠΈΠ΄Π° с дСталями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отобраТаСтся Π² ΠΏΡ€Π°Π²ΠΎΠΉ части Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ экрана Π½Π° iPad. Π’ iPhone это Ρ‚ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² стСкС, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ любой элСмСнт Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ (ΠΏΠ΅Ρ€Π²ΠΎΠΌ, основном) ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Π²ΠΈΠ΄Π°.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ экраном основных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ экраном Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠ±ΠΌΠ΅Π½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· Π΄Π΅Π»Π΅Π³Π°Ρ‚ прилоТСния ΠΈΠ»ΠΈ ΠΆΠ΅Π»Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ основной Π²ΠΈΠ΄ посылал сообщСния нСпосрСдствСнно Π²ΠΈΠ΄Ρƒ с дСталями? Π­Ρ‚ΠΎ зависит ΠΎΡ‚ вас.

Если Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² эмуляторС iPad, Ρ‚ΠΎ Π² альбомном Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ основного Π²ΠΈΠ΄Π° ΠΈ Π²ΠΈΠ΄Π° с дСталями Π² Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ экранС, Π½ΠΎ Ссли ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π½Π° ΠΊΠ½ΠΈΠΆΠ½ΡƒΡŽ, Ρ‚ΠΎ Π²ΠΈΠ΄ с основными ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ исчСзнСт ΠΈ Π½Π° Π΅Π³ΠΎ мСстС появится навигационная ΠΊΠ½ΠΎΠΏΠΊΠ° Master (Основной). Она Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° с Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Π₯отя это ΠΈ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½ΠΎ ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сравниваСм наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Settings (Настройки) ΠΈΠ· iPad. Если Π² iPad ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ экран с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Settings (Настройки) Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π» ΠΊΠ½ΠΈΠΆΠ½ΡƒΡŽ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Ρ‚ΠΎ Π½Π° экранС всС Ρ€Π°Π²Π½ΠΎ останутся ΠΎΠ±Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²ΠΈΠ΄ΠΎΠ²: ΠΈ с основной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΈ с дСталями. Как Π½Π°ΠΌ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°? ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Apple ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ API (интСрфСйс программирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ), с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ„Π°ΠΉΠ» DetailViewController.m ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄:


β€” (BOOL) splitViewController:(UISplitViewController *)svc

shouldHideViewController:(UIViewController *)vc

inOrientation:(UIInterfaceOrientation)orientation{

return NO;

}


Если Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΠ· этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NO, iOS Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ основного Π²ΠΈΠ΄Π° ΠΏΡ€ΠΈ любой ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° β€” ΠΊΠ°ΠΊ с основными опциями, Ρ‚Π°ΠΊ ΠΈ с ΠΈΡ… дСталями β€” Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΈ Π² альбомной, ΠΈ Π² ΠΊΠ½ΠΈΠΆΠ½ΠΎΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π² упомянутый ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΌΡ‹ смоТСм ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· Π΄Π²ΡƒΡ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:


β€” (void)splitViewController:(UISplitViewController *)splitController

willHideViewController:(UIViewController *)viewController

withBarButtonItem:(UIBarButtonItem *)barButtonItem

forPopoverController:(UIPopoverController *)popoverController{

barButtonItem.title = NSLocalizedString(@"Master", @"Master");

[self.navigationItem setLeftBarButtonItem: barButtonItem animated: YES];

self.masterPopoverController = popoverController;

}


β€” (void)splitViewController:(UISplitViewController *)splitController

willShowViewController:(UIViewController *)viewController

invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem{

[self.navigationItem setLeftBarButtonItem: nil animated: YES];

self.masterPopoverController = nil;

}


Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈΡΡŒ Π½Π°ΠΌ просто для управлСния ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈΠ· Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ большС Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Сю ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ просто Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° DetailViewController.m.

Заглянув Π½Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° вашСго основного Π²ΠΈΠ΄Π°, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚Π°ΠΌ Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:


#import <UIKit/UIKit.h>


@class DetailViewController;


@interface MasterViewController: UITableViewController


@property (strong, nonatomic) DetailViewController *detailViewController;