Чтение онлайн

на главную - закладки

Жанры

iOS. Приемы программирования

Нахавандипур Вандад

Шрифт:

• textAlignment — свойство относится к типу NSTextAlignment и задает выравнивание текста в подписи по горизонтали. Например, для этого свойства можно задать значение NSTextAlignmentCenter, чтобы выровнять текст подписи по центру по горизонтали.

• textColor — это свойство типа UIColor определяет цвет текста подписи.

• font — свойство типа UIFont задает шрифт, которым отображается текст подписи.

• adjustsFontSizeToFitWidth — это свойство типа BOOL. Если оно имеет значение YES, то размер шрифта будет изменяться таким образом, чтобы текст умещался в поле для подписи. Например, когда поле маленькое, а вы хотите записать на нем слишком большой текст. В этом случае среда времени исполнения

автоматически уменьшит размер шрифта подписи, чтобы текст гарантированно поместился. Напротив, если для этого свойства задано значение NO, то программа будет действовать в соответствии с актуальной функцией заверстывания строк/слов/символов и текст отобразится не полностью — всего несколько слов.

Обсуждение

Подписи — одни из простейших компонентов пользовательского интерфейса, которые мы можем использовать в наших приложениях. Но при всей простоте их потенциал очень велик. Поэтому оформление подписей — очень важный фактор, значительно сказывающийся на удобстве использования интерфейса. Поэтому Apple предоставляет нам массу способов оформления экземпляров UILabel. Рассмотрим пример. Мы создаем простое приложение с единственным видом, в котором есть всего один контроллер вида. В центре экрана поместим простую надпись, выполненную огромным шрифтом, — она будет гласить: iOS SDK. Фон вида мы сделаем белым, а цвет тени, отбрасываемой подписью, — светло-серым. Мы убедимся, что тень находится ниже и правее подписи. На рис. 1.48 показан эффект, которого мы стремимся достичь.

Рис. 1.48. Оформление и отображение подписи на экране

А вот и код для этого:

#import «ViewController.h»

@interface ViewController 

@property (nonatomic, strong) UILabel *label;

@end

@implementation ViewController

— (void)viewDidLoad{

[super viewDidLoad];

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

self.label.backgroundColor = [UIColor clearColor];

self.label.text = @"iOS SDK";

self.label.font = [UIFont boldSystemFontOfSize:70.0f];

self.label.textColor = [UIColor blackColor];

self.label.shadowColor = [UIColor lightGrayColor];

self.label.shadowOffset = CGSizeMake(2.0f, 2.0f);

[self.label sizeToFit];

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

[self.view addSubview: self.label];

}

@end

См. также

Разделы 1.17, 1.26.

1.19. Прием пользовательского текстового ввода с помощью UITextField

Постановка задачи

Необходимо

принимать через пользовательский интерфейс программы текст, вводимый пользователем.

Решение

Воспользуйтесь классом UITextField.

Обсуждение

Текстовое поле очень похоже на подпись тем, что в нем также можно отображать текстовую информацию. Но текстовое поле, в отличие от подписи, может принимать текстовый ввод и во время исполнения. На рис. 1.49 показаны два текстовых поля в разделе Twitter приложения Settings (Настройки) в iPhone.

Рис. 1.49. Текстовые поля, в которые можно вводить текст

В текстовом поле можно вводить и отображать только одну строку текста. Именно поэтому стандартная высота текстового поля, задаваемая по умолчанию, — всего 31 пункт. Эту высоту нельзя изменить в конструкторе интерфейса, но если вы создаете текстовое поле прямо в коде, то сделать это можно. Тем не менее при изменении высоты не изменяется количество строк, которые можно записать в текстовом поле, — строка всегда всего одна.

Чтобы определить наше текстовое поле, начнем работу с файла реализации контроллера вида:

#import «ViewController.h»

@interface ViewController 

@property (nonatomic, strong) UITextField *myTextField;

@end

@implementation ViewController

…

А потом создадим это текстовое поле:

— (void)viewDidLoad{

[super viewDidLoad];

CGRect textFieldFrame = CGRectMake(0.0f,

0.0f,

200.0f,

31.0f);

self.myTextField = [[UITextField alloc]

initWithFrame: textFieldFrame];

self.myTextField.borderStyle = UITextBorderStyleRoundedRect;

self.myTextField.contentVerticalAlignment =

UIControlContentVerticalAlignmentCenter;

self.myTextField.textAlignment = NSTextAlignmentCenter;

self.myTextField.text = @"Sir Richard Branson";

self.myTextField.center = self.view.center;

[self.view addSubview: self.myTextField];

}

Прежде чем подробно рассматривать код, взглянем на результат его выполнения (рис. 1.50).

При создании этого текстового поля мы использовали различные свойства класса UITextField:

• borderStyle — свойство имеет тип UITextBorderStyle и указывает, как должны отображаться границы текстового поля;

Поделиться:
Популярные книги

Т. 13 Число зверя

Хайнлайн Роберт Энсон
13. Отцы-основатели. Весь Хайнлайн
Фантастика:
научная фантастика
7.00
рейтинг книги
Т. 13 Число зверя

Цари. Романовы. История династии

Радзинский Эдвард Станиславович
Документальная литература:
биографии и мемуары
6.09
рейтинг книги
Цари. Романовы. История династии

Житейская правда разведки

Антонов Владимир Сергеевич
Гриф секретности снят
Научно-образовательная:
история
cпецслужбы
военная история
6.25
рейтинг книги
Житейская правда разведки

Демон в старшей школе. Книга 1 и Книга 2

Черноводов Дмитрий
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Демон в старшей школе. Книга 1 и Книга 2

2012. Хроника апокалипсиса

Медведев Антон Николаевич
Фантастика:
боевая фантастика
6.75
рейтинг книги
2012. Хроника апокалипсиса

Реформы и реформаторы

Мережковский Дмитрий Сергеевич
Проза:
историческая проза
5.00
рейтинг книги
Реформы и реформаторы

Замуж второй раз, или Ещё посмотрим, кто из нас попал!

Вудворт Франциска
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Замуж второй раз, или Ещё посмотрим, кто из нас попал!

Последний легион

Банч Кристофер
1. Последний легион
Фантастика:
боевая фантастика
6.67
рейтинг книги
Последний легион

Бастард Императора. Том 3

Орлов Андрей Юрьевич
3. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 3

Книга Фурмана. История одного присутствия. Часть I. Страна несходства

Фурман Александр Эдуардович
Проза:
современная проза
5.00
рейтинг книги
Книга Фурмана. История одного присутствия. Часть I. Страна несходства

Как это было… К истории Компартии РСФСР – КПРФ

Осадчий Иван Павлович
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Как это было… К истории Компартии РСФСР – КПРФ

Резерфорд

Данин Даниил Семенович
431. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Резерфорд

Путь России. Новая опричнина, или Почему не нужно «валить из Рашки»

Делягин Михаил Геннадьевич
Документальная литература:
публицистика
5.00
рейтинг книги
Путь России. Новая опричнина, или Почему не нужно «валить из Рашки»

Больше чем смерть: Сад времени. Неадертальская планета. На белой полосе

Олдисс Брайан
Фантастика:
научная фантастика
5.00
рейтинг книги
Больше чем смерть: Сад времени. Неадертальская планета. На белой полосе