PDF (RU) pdf (ru)
key b00qinU6y5lXDV3dzjz8kDQ1eG0QzhcNQGg2KHMR5cM
Глава 1. Начало работы с iPhone SDK 11
Анатомия приложения 11
За кулисами Xcode 14
Установка iPhone SDK 17
Что вам потребуется 18
Ключ разработчика Apple 18
iPhone 18
Симулятор iPhone 19
Загрузка и установка iPhone SDK 20
Инициализация iPhone 21
Построение и установка приложений 23
Модель — Представление — Контроллер 24
Шаблоны приложений 25
Содержимое проекта Xcode 26
Прототипы 28
Добавление библиотек 29
Установка активного SDK 31
Построение приложения 31
Установка приложения 31
Переход к Objective-C 32
Обмен сообщениями 32
Объявление классов и методов 34
Тип данных id 35
Импорт 35
Объявление интерфейсов 35
Методы 35
Реализация 36
Свойства 38
Протоколы 39
Категории 40
Подстановка 43
Дополнительные источники 44
Глава 2. Interface Builder: Xcode GUI для графических пользовательских интерфейсов 45
Окна, представления и контроллеры представлений 46
Существующие шаблоны 47
Новые шаблоны 48
Элементы пользовательского интерфейса 49
Контроллеры 51
Представления данных 51
Ввод данных и значения 52
Окна, представления и панели 52
Inspector 52
Разработка пользовательского интерфейса 52
Окно 53
Контроллер представлений 53
Представления 54
Соединение представлений 55
Добавление связывания в код 56
Удаление Interface Builder из проекта 57
Глава 3. Введение в UI Kit 59
Основные элементы пользовательского интерфейса 60
Окна и представления 63
Создание окна и представления 63
Отображение вида 65
Самое бесполезное приложение: HelloView 65
Как это работает 68
Порождение от класса UlView 68
Традиционное бесполезное приложение: HelloWorld 71
Как это работает 73
Контроллеры представлений 74
Создание контроллера представлений 75
Загрузка из Interface Builder 77
Изменение ориентации 78
Удаление контроллера представлений 79
HelloWorld в стиле контроллера представлений: ControllerDemo 79
Как это работает 83
Для дальнейшего изучения 84
Текстовые представления 84
Создание текстового вида 85
Редактирование 86
Поля 86
Шрифт и размер 87
Цвет текста 88
Цвета из библиотеки Core Graphics 89
Задание содержимого 90
Отображение HTML 91
Чтение исходного кода Web-страницы: SourceReader 92
Как это работает 96
Для дальнейшего изучения 97
Панели навигации и контроллеры 97
Создание контроллера навигации 98
Свойства контроллера навигации 99
Задание заголовка 100
Кнопки, стили и действия 100
Стиль панели навигации 102
Добавление сегментированного элемента управления 103
Добавление панели инструментов 105
Текстовые кнопки и кнопки с изображением 105
Системные кнопки 106
Собственные кнопки представлений 107
Создание панели инструментов 107
Изменение размеров 108
Стиль панели инструментов 108
Страничная навигация: PageDemo 109
Как это работает 115
Для дальнейшего изучения 116
А нимации переходов 117
Создание перехода 118
Функция распределения во времени 118
Типы анимации 118
Длительность 119
Прикрепление перехода 120
Переходы с переворачиванием страниц: FlipDemo 120
Как это работает 126
Для дальнейшего изучения 127
Листы действий и предупреждения 127
Предупреждения 128
Листы действий 129
Отмена листа действий 130
Конец света (с подтверждением): EndWorld 131
Как это работает 136
Для дальнейшего изучения 137
Табличные представления и контроллеры 137
Создание таблицы 138
Наследование класса UITableViewController 138
Ячейки таблицы 140
Отображаемый текст 141
Выравнивание 141
Шрифт и размер 142
Цвет текста 142
Изображения 143
Стиль выбора 144
Метки 144
Раскрытия 145
Реализация множественного выбора 146
Редактирование и действие "провести, чтобы удалить" 147
Перезагрузка таблицы 148
Простейший проводник файлов: TableDemo 149
Как это работает 156
Для дальнейшего изучения 157
Манипуляции строкой состояния 158
Скрытие строки состояния 158
Стиль строки состояния 158
Ориентация строки состояния 159
Бейджи приложения 160
Отображение бейджа приложения 160
Удаление бейджа приложения 161
Для дальнейшего изучения 161
Сервисы приложения 161
Приостановка и возобновление 162
Прекращение работы программы 163
Вызов Safari 163
Инициация телефонных звонков 164
Глава 4. События множественных касаний и геометрия 165
Введение в геометрические структуры 165
Структура CGPoint 166
Структура CGSize 166
Структура CGRect 167
Включение и пересечение 167
Обнаружение границы и центра 168
Обработка событий множественных касаний 168
Уведомления UITouch 169
Объект UIEvent 171
Обработка событий 171
Пример: счетчик касаний 173
Пример: коснитесь и перетащите 174
Обработка множественного касания 175
Отслеживание пинчей: PinchMe 176
Отслеживание перетаскивания значков: TouchDemo 179
Как это работает 185
Для дальнейшего изучения 185
Глава 5. Программирование уровней с использованием Quartz Core 187
Понятие уровней 187
Иерархия уровней 189
Размер и смещение 190
Упорядочивание и отображение 190
Визуализация 191
Преобразования 192
Анимация уровней 192
Преобразования уровней 193
Развлечение с уровнями: BounceDemo 195
Как это работает 201
Для дальнейшего изучения 202
Глава 6. Создание шума: Audio Toolbox и AVFoundation 203
Библиотека AVFoundation 204
Звуковой проигрыватель 205
Свойства проигрывателя 206
Воспроизведение звуков 207
Методы-делегаты 207
Снятие измерений 208
Создание волюметра: AVMeter 209
Как это работает 220
Для дальнейшего изучения 220
Аудиосервисы 220
Как это работает 222
Аудиоочереди 222
Структура аудиоочереди 223
Подготовка аудиовывода 225
Звуковые буферы 227
Функция обратного вызова 228
Уровень громкости 230
Пример: проигрыватель РСМ 230
Как это работает 236
Для дальнейшего изучения 236
Запись звука 237
Структура аудиоочереди 238
Подготовка аудиоввода 240
Звуковые буферы 241
Функция обратного вызова 243
Осуществление доступа к необработанным данным 244
Запись в файл 245
Пример: магнитофон 246
Как это работает 249
Для дальнейшего изучения 250
Вибрация 250
Глава 7. Сетевое программирование с CFNetwok 251
Программирование сокетов 252
Типы сокетов 252
Объект С I-Socket 253
Создание новых сокетов 253
Создание сокетов из существующего сокета 255
Функции сокетов 256
Разрешение/запрет обратных вызовов 257
Отправка данных 257
Обратные вызовы 258
CFSocketContext 259
Потоки сокетов 260
Потоки чтения 260
Потоки записи 263
Пример с CFSocket: сервер анекдотов 265
Для дальнейшего изучения 268
Интерфейсы CFHTTP и CFFTP 269
CFHTTP 269
CFFTP 271
Для дальнейшего изучения 272
Глава 8. Определение местоположения: Corelocation 273
Менеджер Core Location 274
Параметры запроса 275
Выполнение запроса 277
Получение обновлений 277
Завершение запроса 279
Обработка ошибок 280
Определение местоположения: WhereYouAt 280
Как это работает 284
Для дальнейшего изучения 284
Глава 9. Библиотеки для работы с адресной книгой 285
Доступ к адресной книге 286
Функции адресной книги верхнего уровня 287
Выполнение запросов к адресной книге 287
Создание записей 288
Работа с записями 289
Запись свойств 291
Многозначные свойства 291
Запись многозначных записей 294
Работа со словарями 294
Данные изображения 295
Для дальнейшего изучения 296
Address Book UI 296
Представления для отображения контактов 296
Выборщики контактов 297
Методы-делегаты 298
Для дальнейшего изучения 299
Глава 10. Проектирование IU Kit для опытных 301
Элементы управления 303
Базовый класс UIControl 304
Свойства 304
Уведомления о событиях 305
Сегментированные элементы управления 308
Создание элемента управления 308
Добавление сегментов 309
Заголовки сегментов 310
Изображения 310
Мгновенные щелчки 311
Инициализация сегмента по умолчанию 311
Отображение элемента управления 311
Считывание элемента управления 311
Переключатели 312
Создание элемента управления 312
Альтернативные цвета 313
Отображение элемента управления 313
Расположение переключателя 314
Полосы прокрутки 314
Создание элемента управления 315
Отображение элемента управления 316
Считывание элемента управления 317
Текстовые поля 317
Параметры стиля 318
Визуализация подмен 319
Методы-делегаты 320
У ведомления 322
Прокрутка текстовых полей 322
Кнопки 324
Создание элемента управления 324
Отображение элемента управления 326
Визуализация подмен 327
Страницы 327
Создание элемента управления 328
Отображение элемента управления 328
Уведомления 329
Для дальнейшего изучения 329
Таблицы настроек 330
Создание таблицы настроек 331
Создание подклассов контроллера представления таблицы 332
Инициализация таблицы 333
Ячейки таблицы настроек 334
Элементы управления 335
Текстовые поля 336
Отображение таблицы настроек 336
Пример таблицы настроек: ShootStuffUp 337
Как это работает 345
Для дальнейшего изучения 346
Списки разделов 346
Создание списка разделов 347
Добавление индексной панели 349
Отображение списка разделов 350
Улучшенный проводник файлов: TableDemo 350
Как это работает 360
Для дальнейшего изучения 361
Индикаторы прогресса и активности 361
Класс UIActivitylndicatorView: то, что вертится 362
UlProgressView: когда вращающиеся штучки не подходят 363
Индикаторы сетевой активности 364
Для дальнейшего изучения 365
Изображения 365
Объект изображения 365
Работа с файлами (статические методы) 366
Работа с URL и необработанными данными (статические методы) 366
Работа с Core Graphics (статические методы) 367
Работа с файлами (методы экземпляров) 367
Работа с URL и необработанными данными (методы экземпляров) 367
Работа с Core Graphics (методы экземпляров 368
Отображение изображения 368
Вывод на экран узоров 369
Ориентация 369
Размер изображения 370
Развлечение с изображениями и узорами: ImageFun 370
Изображение с представлением: UIIMageView 374
Выборщики изображений 376
Источники изображений 376
Редактирование изображений 376
Выбор изображений 377
Свойства клавиатуры 377
Стиль клавиатуры 378
Внешний вид клавиатуры 379
Клавиша возврата 380
Автоматическое выделение прописными буквами 380
Автозамена 381
Защищенный ввод текста 381
Выборщики 382
Создание выборщика 382
Получение свойств выборщика 382
Источник данных выборщика 383
Отображение выборщика 384
Считывание выборщика 384
Выбор типа вашего носа: NosePicker 384
Как это работает 391
Для дальнейшего изучения 392
Выборщик даты и времени 392
Создание выборщика даты и времени 392
Режимы DateРicкег 393
Временные интервалы 393
Диапазоны дат 393
Отображение выборщика даты 394
Считывание даты 394
Пример: выборщик Дня независимости 395
Как это работает 400
Для дальнейшего изучения 400
Панели вкладок 401
Контроллеры панели вкладок 401
Создание контроллера панели вкладок 402
Создание коллекции 402
Настройка свойств кнопок 403
Создание контроллера панели вкладок 404
Отображение контроллера панели вкладок 404
Настраиваемые кнопки 404
Навигация 405
Делегированные действия 405
Еще один способ реализации текстовой книги: TabDemo 406
Как это работает 410
Для дальнейшего изучения 410
Показания сенсоров и информация об устройстве 411
Считывание ориентации 411
Считывание информации об устройстве 412
Считывание показаний акселерометра 412
Отслеживание перемещений 413
Датчик приближения 414
Для дальнейшего изучения 415
Представления прокрутки 415
Создание представления прокрутки 415
Свойства 416
Методы-делегаты 417
Прокрутка метеорологической карты: Biglmage 419
Как это работает 422
Для дальнейшего изучения 423
Web-представления 423
Создание Web-представления 424
Отображение Web-представления 424
Загрузка содержимого 424
Навигация 425
Методы-делегаты 425
Поисковая программа Google: WebDemo 426
Как это работает 431
Для дальнейшего изучения 431
Глава 11. Параметры приложения 433
Словари и списки свойств 433
Создание словаря 434
Управление ключами 434
Запись списка свойств 434
Считывание списков свойств 435
Для дальнейшего изучения 435
Блок настроек приложения 435
Добавление ключей 436
Групповые разделители 437
Текстовые поля 437
Изменение значений переключателей 439
Полосы прокрутки 440
Многозначные поля 442
Дочерние панели 443
Считывание значений блока настроек приложения 444
Для дальнейшего изучения 444
Глава 12. Cover Flow 445
Программирование Cover Flow в SDK: CovertFlow 446
Как это работает 455
Для дальнейшего изучения 456
Глава 13. Перелистывание страниц 457
Пример перелистывания страниц: PageControl 458
Как это работает 467
Для дальнейшего изучения 467
Класс PageScrollView для нескольких представлений 468
Как это работает 475
Глава 14. Библиотека Media Player 477
Контроллеры видеопроигрывателя 477
Свойства 478
Элементы управления 478
Форматное соотношение 479
Цвет фона 479
Начало и остановка воспроизведения видеофильма 479
Уведомления 480
Для дальнейшего изучения 481
Предметный указатель 482
Добавить комментарий