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

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

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

β€” (UIImage *) maximumTrackImage{

UIImage *result = [UIImage imageNamed:@"MaximumTrack"];

UIEdgeInsets edgeInsets;

edgeInsets.left = 0.0f;

edgeInsets.top = 0.0f;

edgeInsets.right = 3.0f;

edgeInsets.bottom = 0.0f;

result = [result resizableImageWithCapInsets: edgeInsets];

return result;

}


β€” (void)viewDidLoad{

[super viewDidLoad];


/* Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ слайдСр */

self.slider = [[UISlider alloc] initWithFrame: CGRectMake(0.0f,

0.0f,

218.0f,

23.0f)];

self.slider.value = 0.5;

self.slider.minimumValue = 0.0f;

self.slider.maximumValue = 1.0f;

self.slider.center = self.view.center;

[self.view addSubview: self.slider];


/* Π˜Π·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для минимального значСния */

[self.slider setMinimumValueImage: [UIImage imageNamed:@"MinimumValue"]];


/* Π˜Π·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для области ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ */

[self.slider setMinimumTrackImage: [self minimumTrackImage]

forState: UIControlStateNormal];


/* Π˜Π·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π·ΡƒΠ½ΠΊΠ° для ΠΎΠ±ΠΎΠΈΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояний ΠΏΠΎΠ»Π·ΡƒΠ½ΠΊΠ°: ΠΊΠΎΠ³Π΄Π°

ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΅Π³ΠΎ касаСтся ΠΈ ΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΊΠ°ΡΠ°Π΅Ρ‚ся */

[self.slider setThumbImage: [UIImage imageNamed:@"Thumb"]

forState: UIControlStateNormal];

[self.slider setThumbImage: [UIImage imageNamed:@"Thumb"]

forState: UIControlStateHighlighted];


/* Π˜Π·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для области ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ */

[self.slider setMaximumTrackImage: [self maximumTrackImage]

forState: UIControlStateNormal];


/* Π˜Π·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ */

[self.slider setMaximumValueImage: [UIImage imageNamed:@"MaximumValue"]];

}

ΠŸΠΎΠ»Π·ΡƒΠ½ΠΎΠΊ Π² iOS 7 выглядит ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΈΠ½Π°Ρ‡Π΅, Π½Π΅ΠΆΠ΅Π»ΠΈ Π² Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсиях. Как Π²Ρ‹ Π΄ΠΎΠ³Π°Π΄Ρ‹Π²Π°Π΅Ρ‚Π΅ΡΡŒ, этот элСмСнт стал ΠΎΡ‡Π΅Π½ΡŒ прямолинСйным ΠΈ Ρ‚ΠΎΠ½ΠΊΠΈΠΌ Π½Π° Π²ΠΈΠ΄. Высота максимальной ΠΈ минимальной ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π° шкалС Π² iOS 7 составляСт всСго 1 Ρ‚ΠΎΡ‡ΠΊΡƒ, поэтому Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ для этих элСмСнтов ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ изобраТСния Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ бСсполСзно β€” скорСС всСго, получится нСкрасиво. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для оформлСния этих элСмСнтов UISlider Π² iOS 7 рСкомСндуСтся ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ лишь ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠ°ΠΌΠΈ, Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ элСмСнту Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

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

Π Π°Π·Π΄Π΅Π» 1.6.

1.8. Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ UISegmentedControl

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

ВрСбуСтся ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π° Π²Ρ‹Π±ΠΎΡ€ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ, простым ΠΈ Π»Π΅Π³ΠΊΠΈΠΌ для понимания.

РСшСниС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс UISegmentedControl. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этим классом ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° рис. 1.22.


Рис. 1.22. Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ элСмСнт управлСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

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

Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ элСмСнт управлСния β€” это ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС Π½Π°Π±ΠΎΡ€Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ сСгмСнтированный элСмСнт управлСния, создайтС экзСмпляр класса UISegmentedControl. НачинаСм Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„Π°ΠΉΠ»Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (.m) нашСго ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²ΠΈΠ΄Π°:


#import Β«ViewController.hΒ»


@interface ViewController ()

@property (nonatomic, strong) UISegmentedControl *mySegmentedControl;

@end


@implementation ViewController


…

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ сСгмСнтированный элСмСнт управлСния Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ viewDidLoad ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° нашСго Π²ΠΈΠ΄Π°:

β€” (void)viewDidLoad{

[super viewDidLoad];

NSArray *segments = [[NSArray alloc] initWithObjects:

@"iPhone",

@"iPad",

@"iPod",

@"iMac", nil];


self.mySegmentedControl = [[UISegmentedControl alloc]

initWithItems: segments];

self.mySegmentedControl.center = self.view.center;

[self.view addSubview: self.mySegmentedControl];


}


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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² сСгмСнтированном элСмСнтС управлСния ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Допустим, ΠΎΠ½ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ iPad. Π’ΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс сСгмСнтированного элСмСнта управлСния измСнится ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡΡ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Π½Π° рис. 1.23.


Рис. 1.23. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π² сСгмСнтированном элСмСнтС управлСния


Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: ΠΊΠ°ΠΊ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» Π² сСгмСнтированном элСмСнтС управлСния Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€? ΠžΡ‚Π²Π΅Ρ‚ прост. Как ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с UISwitch ΠΈΠ»ΠΈ UISlider, примСняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ addTarget: action: forControlEvents: сСгмСнтированного элСмСнта управлСния, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ добавляСтся Ρ†Π΅Π»ΡŒ. Для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° forControlEvents Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ UIControlEventValueChanged, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ это событиС запускаСтся, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π² сСгмСнтированном элСмСнтС управлСния Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€:


β€” (void) segmentChanged:(UISegmentedControl *)paramSender{

if ([paramSender isEqual: self.mySegmentedControl]){

NSInteger selectedSegmentIndex = [paramSender selectedSegmentIndex];


NSString *selectedSegmentText =

[paramSender titleForSegmentAtIndex: selectedSegmentIndex];

NSLog(@"Segment %ld with %@ text is selected",

(long)selectedSegmentIndex,

selectedSegmentText);

}

}


β€” (void)viewDidLoad{

[super viewDidLoad];

NSArray *segments = [[NSArray alloc] initWithObjects:

@"iPhone",

@"iPad",

@"iPod",

@"iMac", nil];


self.mySegmentedControl = [[UISegmentedControl alloc]

initWithItems: segments];

self.mySegmentedControl.center = self.view.center;

[self.view addSubview: self.mySegmentedControl];


[self.mySegmentedControl addTarget: self

action:@selector(segmentChanged:)

forControlEvents: UIControlEventValueChanged];

}


Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ слСва ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (см. рис. 1.22) Π΄ΠΎ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ края, Π½Π° консоль Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст:


Segment 0 with iPhone text is selected

Segment 1 with iPad text is selected

Segment 2 with iPod text is selected

Segment 3 with iMac text is selected


Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΌΡ‹ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ selectedSegmentIndex сСгмСнтированного элСмСнта управлСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ индСкс Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚. Если Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· элСмСнтов Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ –1. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ titleForSegmentAtIndex:. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ этому ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ индСкс ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π² сСгмСнтированном элСмСнтС управлСния, Π° сСгмСнтированный элСмСнт управлСния Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ тСкст, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ этому ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ. Π’Π΅Π΄ΡŒ просто, ΠΏΡ€Π°Π²Π΄Π°?

Как Π²Ρ‹, вСроятно, Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² сСгмСнтированном элСмСнтС управлСния, этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ выбираСтся ΠΈ остаСтся Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 1.23. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π½Π΅ ΠΎΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ, Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»Π°ΡΡŒ ΠΊ исходной Ρ„ΠΎΡ€ΠΌΠ΅ (Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Β«ΠΎΡ‚Ρ‰Π΅Π»ΠΊΠΈΠ²Π°Π»Π°ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΒ», ΠΊΠ°ΠΊ ΠΈ обычная ΠΊΠ½ΠΎΠΏΠΊΠ°), Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ для свойства momentary сСгмСнтированного элСмСнта управлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ YES:


self.mySegmentedControl.momentary = YES;


Одна ΠΈΠ· самых приятных особСнностСй сСгмСнтированных элСмСнтов управлСния Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкст, Π½ΠΎ ΠΈ изобраТСния. Для этого Π½ΡƒΠΆΠ½ΠΎ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄-ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ initWithObjects: класса UISegmentedControl ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ с этим ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Ρ‚Π΅ строки ΠΈ изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса:


β€” (void)viewDidLoad{

[super viewDidLoad];

NSArray *segments = [[NSArray alloc] initWithObjects:

@"iPhone",

[UIImage imageNamed:@"iPad"],

@"iPod",

@"iMac",

];


self.mySegmentedControl = [[UISegmentedControl alloc]

initWithItems: segments];


CGRect segmentedFrame = self.mySegmentedControl.frame;

segmentedFrame.size.height = 128.0f;

segmentedFrame.size.width = 300.0f;

self.mySegmentedControl.frame = segmentedFrame;

self.mySegmentedControl.center = self.view.center;


[self.view addSubview: self.mySegmentedControl];

}

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ„Π°ΠΉΠ» iPad.png β€” это просто ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Β«Π°ΠΉΠΏΠ°Π΄Π°Β», Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π² наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π’ iOS 7 Apple ΠΎΡ‚ΠΊΠ°Π·Π°Π»Π°ΡΡŒ ΠΎΡ‚ использования свойства segmentedControlStyle класса UISegmentedControl, поэтому Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ сСгмСнтированныС элСмСнты управлСния ΠΈΠΌΠ΅ΡŽΡ‚ всСго ΠΎΠ΄ΠΈΠ½ ΡΡ‚ΠΈΠ»ΡŒ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠœΡ‹ большС Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ этот ΡΡ‚ΠΈΠ»ΡŒ.

1.9. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ UIViewController