Май 27

Локаль (англ. — Locale) — это не язык, а набор параметров, способ представления данных, включая валюту, дробный разделитель, единицы измерения, формат числа и даты. Идентификатор локаля представлен как “languagecode_regioncode_variant”. Преобразование присваиваемых имен регулируется нормами ICU (International Components for Unicode). В этом варианте нет необходимости для английского языка в США (идентификатор локаля “en_US”) и в Великобритании (”en_GB”). Для настройки локаля в iPhone выполните “Settings -> General -> International -> Region Format“. В этом уроке мы рассмотрим отображение данных (валюта, дата, время) для указанного пользователем региона (страны).

Форматеры.

Как правило, операции выполняются не с конкретным локалем, а с текущим пользовательским объектом. Объект локаля функционирует в комплексе с другими объектами — форматерами. В Cocca это “NSNumberFormatter” и “NSDateFormatter“. Эти классы чувствительны к локалю: при создании экземпляра используется текущий локаль пользователя, что весьма упрощает работу. Для доступа к локалю пользователя и созданию новых объектов используется класс “NSLocale“.

Код для получения текущего локаля выглядит примерно так:

1
2
3
4
5
NSLocale *currentUsersLocale = [NSLocale currentLocale];
NSLog(@"Current Locale: %@", [currentUsersLocale localeIdentifier]);

//Выходные данные
Current Locale: en_US

Продолжить чтение »

1 звезда2 звезд3 звезд4 звезд5 звезд (Оцените приложение)
Загрузка ... Загрузка ...
Нет комментариев »

Май 26

В представлении выбора пользователь указывает в списке интересующий его элемент. В этом уроке мы узнаем, как быстро задавать его данного представления и настраивать реакцию на события. Вот как будет выглядеть наше приложение:

finalapp2

Создаем проект.

Выбрав опцию “Windows-Based Application“, создайте новый проект. Свой я назвал “PickerView“. Следующим шагом добавьте еще одно представление “PickerView” и создайте для него контроллер “PickerViewController“. Включите в представление “UIPickerView” и настройте соответствующие связи. “PickerViewController” реализует два протокола, а заголовочный файл для него выглядит так: Продолжить чтение »

1 звезда2 звезд3 звезд4 звезд5 звезд (Оцените приложение)
Загрузка ... Загрузка ...
Нет комментариев »

Май 25

В этой статье, продолжающей тему урока “Hello World”, мы рассмотрим работу с табличным представлением “Table View”, аналогичным используемому в приложении IPod для вывода списков воспроизведения.

Шаг 1. Прочтите урок “Hello World”.

Незнакомым с программированием на Objective C и IPhone SDK предлагаю начать с урока Hello World.

Шаг 2. Создайте проект. Продолжить чтение »

1 звезда2 звезд3 звезд4 звезд5 звезд (3 голосов, средний: 5.00 из 5)
Загрузка ... Загрузка ...
Нет комментариев »

Май 25

В этом уроке, рассчитанном на тех, кто только начинает осваивать IPhone SDK, мы создадим программными средствами контроллер панели вкладок Tab Bar Controller с двумя вкладками и соответствующими представлениями. Чтобы проиллюстрировать, как элементы интерфейса одного представления взаимодействуют с объектами другого, к одному представлению я добавил элементы “UITextField” и “Button“, а к другому — “UILabel“. Все, что вводится в текстовое поле, по щелчку кнопки  копируется на метку. Я буду работать с 2.0 SDK — в более ранних версиях некоторые функции могут отсутствовать.

Шаг 1. Прочтите урок “Hello World”.

Незнакомым с программированием на Objective C и IPhone SDK предлагаю начать с урока “Hello World“.

Шаг 2. Создайте проект.

Выполните “File > New Project” или вызовите меню нового проекта комбинацией клавиш “Apple + Shft + N“. Из раздела “IPhone OS” в меню слева выберите опцию “Applications“, а среди пиктограмм справа найдите элемент “Window Based Application“. Введите имя проекта (в исходном коде я использовал “TabBar“). Теперь в нашем распоряжении два файла — “TabBarAppDelegate.h” и “TabBarAppDelegate.m“. Продолжить чтение »

1 звезда2 звезд3 звезд4 звезд5 звезд (1 голосов, средний: 5.00 из 5)
Загрузка ... Загрузка ...
Комментариев: 2 »

Май 24

picture-10В этом уроке я покажу, как создать приложение “UITabBarController” посредством исключительно кода. Единственная его задача — переключаться между двумя контроллерами табличного представления, но это даст основу для создания приложений с вкладками и пример выполнения контроллерами различных задач. Слева показано (нажмите для увеличения), как будет выглядеть готовое приложение (за изображения для кнопок на вкладках отдельное спасибо Apple Computer — они взяты из тестового приложения Elements).

Немного о том, почему вместо редактора Interface Builder (IB) все будет выполняться программированием. Во-первых, я не в восторге от IB: многое в нем остается “за кадром”, а отладка приложений бывает затруднительной. От работы с редактором не зарекаюсь, но предпочитаю сначала справляться без него, а IB при необходимости подключать на последующих этапах — так картина происходящего намного яснее. Продолжить чтение »

1 звезда2 звезд3 звезд4 звезд5 звезд (Оцените приложение)
Загрузка ... Загрузка ...
1 Комментарий »

Май 24

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

На выбор предлагается три базовых типа трансформации, которые можно задействовать или изобрести собственные. Вот они:

  • вращение;
  • масштабирование;
  • сдвиг;

animationsimulator Продолжить чтение »

1 звезда2 звезд3 звезд4 звезд5 звезд (3 голосов, средний: 5.00 из 5)
Загрузка ... Загрузка ...
Нет комментариев »

Май 23

uialertview-300x158Предупредительные надписи встречаются часто и выполняют самые разные функции. Часто они выводятся при первом запуске в качестве приветствия. С их помощью программа информирует пользователя о нужных и важных моментах, просит подождать, сообщает об ошибках, предупреждает.

Выглядят такие надписи просто отлично и подходят к интерфейсу практически любой игры/приложения. Пользователю может показаться, что перед ним плод тяжкого труда, тогда как на деле это всего пара строк кода.

Для вывода представленного выше предупреждения (”UIAlertView“) необходимо добавить следующее:

1
2
3
UIAlertView *simpleAlert = [[UIAlertView alloc] initWithTitle:@"Alert's title" message:@"This is an alert's message." delegate:self cancelButtonTitle:@"and the" otherButtonTitles:@"buttons",nil];
[simpleAlert show];
[simpleAlert release];

Продолжить чтение »

1 звезда2 звезд3 звезд4 звезд5 звезд (Оцените приложение)
Загрузка ... Загрузка ...
1 Комментарий »

Май 23

Status bar или панель состояния  представляет собой небольшой прямоугольник (320 x 20 пикселей) в верхней части экрана, где выводится название мобильного оператора, индикаторы силы сигнала, времени и батареи.

statusbar

При разработке приложений-утилит панель крайне полезна, но, начав программировать, я задался целью ее скрыть.

При создании представления в редакторе IB на вкладке атрибутов можно указать для “Status Bar” опцию “None“, но она никуда не денется. Настройки свойств “Status Bar” для файла “MainWindow.xib” тоже ничего не дают.

Хотите избавиться от панели состояния? Делайте это через Xcode. Достаточно всего одной строки: Продолжить чтение »

1 звезда2 звезд3 звезд4 звезд5 звезд (2 голосов, средний: 5.00 из 5)
Загрузка ... Загрузка ...
Нет комментариев »

Май 23

Те, кто уже попробовал создать приложение Hello World, могут попробовать свои силы в чем-то более функциональном.

Откройте Xcode, создайте новый проект “Window-Based Application” с именем “Calculator“, создайте контроллер представления “View Controller” с именем “Calc“, а также представление “Calculator“.

Теперь нам понадобится один объект, пара переменных и методы в файле “Calc.h“:

1
2
3
4
5
6
7
8
9
10
11
12
#import <UIKit/UIKit.h>
@interface Calc : UIViewController {
float result;
IBOutlet UILabel *calculatorScreen;
int currentOperation;
float currentNumber;
}
-(IBAction)buttonDigitPressed:(id)sender;
-(IBAction)buttonOperationPressed:(id)sender;
-(IBAction)cancelInput;
-(IBAction)cancelOperation;
@end
  • result” для типа “float” — число в памяти, результат последней операции
  • calculatorScreen” для типа “UILabel” показывает результат операции или вводимое пользователем число
  • currentOperation” для типа “int” является идентификатором операции (1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление, 0 — равенство)
  • currentNumber” для типа “float” — вводимое пользователем число для каждой следующей операции (выводится на “calculatorScreen“)
  • метод “buttonDigitPressed:(id)sender” вызывается при нажатии пользователем одной из кнопок 0-9 (для всех десяти метод будет один). Конечно, можно было предусмотреть и десять методов типа “-(IBAction)button6Pressed“, но я научу определять запрашивающую метод кнопку с помощью “(id)sender
  • buttonOperationPressed:(id)sender” — точно такой же единственный метод для пяти операций: сложения (addition), вычитания (subtraction), умножения (multiplication), деления и равенства (equals).
  • cancelInput” и “cancelOperation” при нажатии пользователем “C” или “ACПродолжить чтение »
    1 звезда2 звезд3 звезд4 звезд5 звезд (1 голосов, средний: 5.00 из 5)
    Загрузка ... Загрузка ...
    Комментариев: 8 »

Май 21

В этом уроке мы рассмотрим создание веб-обозревателя (по-быстрому, с жестко запрограмированным URL или HTML наполнением). Позже мы еще вернемся к этой теме и поговорим о добавлении на верхнюю панель инструментов функций поиска, создания ссылок и пр.

1. Настройка проекта

Я не буду вдаваться в детали по настройке XCode и подобным моментам. При необходимости вы всегда можете вернуться к [предыдущим урокам]. Из верхнего меню выберите команду “File -> New Project“, в окне iPhone OS — выбираем “Window-Based Application“. Продолжить чтение »

1 звезда2 звезд3 звезд4 звезд5 звезд (2 голосов, средний: 5.00 из 5)
Загрузка ... Загрузка ...
Нет комментариев »