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

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

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

[self.window makeKeyAndVisible];


FirstViewController *firstViewController = [[FirstViewController alloc]

initWithNibName: nil

bundle: NULL];


UINavigationController *firstNavigationController =

[[UINavigationController alloc]

initWithRootViewController: firstViewController];


SecondViewController *secondViewController = [[SecondViewController alloc]

initWithNibName: nil

bundle: NULL];


UINavigationController *secondNavigationController =

[[UINavigationController alloc]

initWithRootViewController: secondViewController];


UITabBarController *tabBarController = [[UITabBarController alloc] init];


[tabBarController setViewControllers:

@[firstNavigationController, secondNavigationController]];


self.window.rootViewController = tabBarController;


return YES;


}


Π§Ρ‚ΠΎ получаСтся? ИмСнно Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ (рис. 1.43).


Рис. 1.43. ПанСль Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π²ΠΈΠ΄ΠΎΠ² находятся Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²


Как Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 1.38, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΏΠ°Π½Π΅Π»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ тСкст ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. ΠœΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ свойством title ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²ΠΈΠ΄Π°, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ тСкст. А Ρ‡Ρ‚ΠΎ насчСт изобраТСния? ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²ΠΈΠ΄Π° Π΅ΡΡ‚ΡŒ ΠΈ свойство tabItem. Π­Ρ‚ΠΎ свойство соотвСтствуСт Ρ‚ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅, которая находится Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Π²ΠΈΠ΄Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этим свойством, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для Π²ΠΊΠ»Π°Π΄ΠΊΠΈ. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для Π²ΠΊΠ»Π°Π΄ΠΊΠΈ задаСтся Ρ‡Π΅Ρ€Π΅Π· Π΅Π΅ свойство image. Π― ΡƒΠΆΠ΅ сдСлал Π΄Π²Π° изобраТСния β€” ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈ ΠΊΡ€ΡƒΠΆΠΎΠΊ, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π²Π΅Π΄Ρƒ ΠΈΡ… ΠΊΠ°ΠΊ изобраТСния для Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· ΠΌΠΎΠΈΡ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π²ΠΈΠ΄ΠΎΠ². Π’ΠΎΡ‚ ΠΊΠΎΠ΄ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²ΠΈΠ΄Π°:


β€” (id)initWithNibName:(NSString *)nibNameOrNil

bundle:(NSBundle *)nibBundleOrNil{


self = [super initWithNibName: nibNameOrNil

bundle: nibBundleOrNil];

if (self!= nil) {

self.title = @"First";

self.tabBarItem.image = [UIImage imageNamed:@"FirstTab"];

}

return self;


}

β€” (void)viewDidLoad{

[super viewDidLoad];

self.view.backgroundColor = [UIColor whiteColor];

}

А Π²ΠΎΡ‚ ΠΊΠΎΠ΄ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°:

β€” (id)initWithNibName:(NSString *)nibNameOrNil

bundle:(NSBundle *)nibBundleOrNil{


self = [super initWithNibName: nibNameOrNil

bundle: nibBundleOrNil];

if (self!= nil) {

self.title = @"Second";

self.tabBarItem.image = [UIImage imageNamed:@"SecondTab"];

}

return self;


}


β€” (void)viewDidLoad{

[super viewDidLoad];

self.view.backgroundColor = [UIColor whiteColor];

}


Запустив ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² эмуляторС, ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ, ΠΊΠ°ΠΊ Π½Π° рис. 1.44.


Рис. 1.44. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠ°Π½Π΅Π»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ с изобраТСниями

1.17. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ статичСского тСкста с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ UILabel

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

НСобходимо ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ тСкст. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ ΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠΌ этого тСкста.

БтатичСским называСтся Ρ‚Π°ΠΊΠΎΠΉ тСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²ΠΎ врСмя исполнСния.

РСшСниС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс UILabel.

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

Подписи (Labels) Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² iOS ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ практичСски Π² Π»ΡŽΠ±Ρ‹Ρ… прилоТСниях, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ³Ρ€, для отобраТСния содСрТимого ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ примСняСтся OpenGL ES, Π° Π½Π΅ основныС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ отрисовки, входящиС Π² состав iOS. На рис. 1.45 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ нСсколько подписСй, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Settings (Настройки) для iPhone.


Рис. 1.45. Подписи Π² качСствС Π½Π°Π·Π²Π°Π½ΠΈΠΉ настроСк


Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, подписи содСрТат тСкстовыС названия Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² прилоТСния Settings (Настройки), Π² частности iCloud, Twitter, FaceTime, Safari ΠΈ Ρ‚. Π΄.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ подпись, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½ΡΡ‚Π°Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° UILabel. Установка ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ тСкста для подписи осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства text. Π˜Ρ‚Π°ΠΊ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ подпись Π² Ρ„Π°ΠΉΠ»Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° нашСго Π²ΠΈΠ΄Π°:


#import Β«ViewController.hΒ»


@interface ViewController ()

@property (nonatomic, strong) UILabel *myLabel;

@end


@implementation ViewController

…


А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π² viewDidLoad инстанцируСм подпись ΠΈ сообщаСм срСдС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния, Π³Π΄Π΅ слСдуСт Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ подпись (эта информация указываСтся Π² свойствС frame) ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π°. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС подпись окаТСтся Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° нашСго Π²ΠΈΠ΄Π°:


β€” (void)viewDidLoad{

[super viewDidLoad];


CGRect labelFrame = CGRectMake(0.0f,

0.0f,

100.0f,

23.0f);

self.myLabel = [[UILabel alloc] initWithFrame: labelFrame];

self.myLabel.text = @"iOS 7 Programming Cookbook";

self.myLabel.font = [UIFont boldSystemFontOfSize:14.0f];

self.myLabel.center = self.view.center;

[self.view addSubview: self.myLabel];


}


Π’Π΅ΠΏΠ΅Ρ€ΡŒ запустим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ происходит (рис. 1.46).


Рис. 1.46. Блишком длинная подпись, которая Π½Π΅ умСщаСтся Π½Π° экранС


Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, тСкст (содСрТимоС) подписи обрСзаСтся, Π° Π·Π° Π½ΠΈΠΌ ΠΈΠ΄ΡƒΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ поля для подписи нСдостаточно для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ умСстился вСсь тСкст. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ, Π½ΠΎ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с высотой? А Ρ‡Ρ‚ΠΎ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ тСкст ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠ» Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку. Π₯ΠΎΡ€ΠΎΡˆΠΎ, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠΌ высоту с 23.0f Π΄ΠΎ 50.0f:


CGRect labelFrame = CGRectMake(0.0f,

0.0f,

100.0f,

50.0f);


Если сСйчас Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, получится Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈ Π½Π° рис. 1.46. Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ: Β«Π― ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ» высоту, Ρ‚Π°ΠΊ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ тСкст Π½Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку»? ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Ρƒ класса UILabel Π΅ΡΡ‚ΡŒ свойство numberOfLines, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π½Π° сколько строк Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒΡΡ тСкст подписи, Ссли Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ для Π½Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ нСдостаточно мСста. Если Π·Π°Π΄Π°Ρ‚ΡŒ здСсь Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 3, Ρ‚ΠΎ Π²Ρ‹ сообщитС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Ρ‡Ρ‚ΠΎ тСкст подписи Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π΅Ρ… строк, Ссли этот тСкст Π½Π΅ умСщаСтся Π² ΠΎΠ΄Π½ΠΎΠΉ строкС:


β€” (void)viewDidLoad{

[super viewDidLoad];


CGRect labelFrame = CGRectMake(0.0f,

0.0f,

100.0f,

70.0f);

self.myLabel = [[UILabel alloc] initWithFrame: labelFrame];

self.myLabel.numberOfLines = 3;

self.myLabel.lineBreakMode = NSLineBreakByWordWrapping;

self.myLabel.text = @"iOS 7 Programming Cookbook";

self.myLabel.font = [UIFont boldSystemFontOfSize:14.0f];

self.myLabel.center = self.view.center;

[self.view addSubview: self.myLabel];


}


Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (рис. 1.47).


Рис. 1.47. Подпись, тСкст ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Ρ€ΠΈ строки

Π‘Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, сколько строк понадобится, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ тСкст подписи. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях для свойства numberOfLines подписи задаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΠΌΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится подпись, ΠΈΠΌΠ΅Π»Π° постоянныС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹, Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π° коррСктировался Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π²Ρ…ΠΎΠ΄ΠΈΠ» Π² ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ для свойства adjustsFontSizeToFitWidth подписи Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ YES. НапримСр, Ссли высота подписи Ρ€Π°Π²Π½Π° 23.0f, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 1.46, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚ подписи Π² этих Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ…. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это дСлаСтся:


β€” (void)viewDidLoad{

[super viewDidLoad];


self.view.backgroundColor = [UIColor whiteColor];

CGRect labelFrame = CGRectMake(0.0f,

0.0f,

100.0f,

23.0f);

self.myLabel = [[UILabel alloc] initWithFrame: labelFrame];

self.myLabel.adjustsFontSizeToFitWidth = YES;

self.myLabel.text = @"iOS 7 Programming Cookbook";

self.myLabel.font = [UIFont boldSystemFontOfSize:14.0f];

self.myLabel.center = self.view.center;

[self.view addSubview: self.myLabel];


}

1.18. ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ UILabel

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

ВрСбуСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ внСшний Π²ΠΈΠ΄ подписСй β€” ΠΎΡ‚ настройки Ρ‚Π΅Π½Π΅ΠΉ Π΄ΠΎ настройки выравнивания.

РСшСниС

ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ пСрСчислСнными Π΄Π°Π»Π΅Π΅ свойствами класса UILabel Π² зависимости ΠΎΡ‚ стоящСй ΠΏΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ.

β€’ shadowColor β€” свойство Ρ‚ΠΈΠΏΠ° UIColor. Как понятно ΠΈΠ· названия, ΠΎΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ†Π²Π΅Ρ‚ отбрасываСмой Ρ‚Π΅Π½ΠΈ для подписи. Устанавливая это свойство, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ свойство shadowOffset.

β€’ shadowOffset β€” это свойство Ρ‚ΠΈΠΏΠ° CGSize. Оно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ отступа ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅Π½ΡŒΡŽ ΠΈ тСкстом. НапримСр, Ссли Π²Ρ‹ Π·Π°Π΄Π°Π΄ΠΈΡ‚Π΅ для этого свойства Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (1, 0), Ρ‚ΠΎ Ρ‚Π΅Π½ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½Ρƒ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΏΡ€Π°Π²Π΅Π΅ тСкста. Если Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (1, 2), Ρ‚ΠΎ Ρ‚Π΅Π½ΡŒ окаТСтся Π½Π° ΠΎΠ΄Π½Ρƒ ΠΏΡ€Π°Π²Π΅Π΅ ΠΈ Π½Π° ΠΎΠ΄Π½Ρƒ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½ΠΈΠΆΠ΅ тСкста. Если ΠΆΠ΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (-2, -10), Ρ‚ΠΎ Ρ‚Π΅Π½ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π»Π΅Π²Π΅Π΅ ΠΈ Π½Π° Π΄Π΅ΡΡΡ‚ΡŒ Ρ‚ΠΎΡ‡Π΅ΠΊ Π²Ρ‹ΡˆΠ΅ тСкста.