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

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


Скачать книгу

действовать в соответствии с актуальной функцией заверстывания строк/слов/символов и текст отобразится не полностью – всего несколько слов.

      Обсуждение

      Подписи – одни из простейших компонентов пользовательского интерфейса, которые мы можем использовать в наших приложениях. Но при всей простоте их потенциал очень велик. Поэтому оформление подписей – очень важный фактор, значительно сказывающийся на удобстве использования интерфейса. Поэтому 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

      

      А