Май 15

В этом уроке мы рассмотрим создание файла настроек (settings bundle), отображаемого в меню Settings. Вот что мы получим на выходе в окне Application Preferences:

finalapp

Настройки приложения хранятся в plist-файле. Для начала создадим новый бандл, в состав которого войдет plist-файл. Для выполнения перечисленных ниже шагов необходимо открыть проект в XCode.

Выберите файл проекта в XCode (в проводнике файлов слева) и выполните File -> New File. Щелкнув на меню, выберите Settings Bundle, затем Next. Присвойте файлу имя и подтвердите кнопкой Finish. Продолжить чтение »

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

Май 15

В этом уроке мы создадим приложение на основе представления (view-based), работающее исключительно в альбомной ориентации (landscape-mode only) (экран по ширине больше, чем по высоте) вместо привычной книжной (где экран выше и уже).

Создаем новое view-based приложение.

Откройте Xcode.

Создайте новый проект iPhone OS Project, выполнив File -> New Project

picture-3

Убедитесь, что пункт “Application” (Приложение) относится к меню “iPhone OS“, затем выберите “View-Based Application“.

Щелкнув на кнопке “Choose...”, наберите в поле “Save As:” название “LandscapeOnlyViewBasedTutorial“, подтвердив его кнопкой “Save“. Продолжить чтение »

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

Май 15

Предполагается, что читатель уже имеет определенное представление о среде разработки приложений iPhone SDK (при необходимости можно скачать ее бесплатно отсюда http://developer.apple.com/iphone/). В этот раз наша задача — создать программу для чтения простой RSS-ленты (разумеется, это будет The Apple Blog).

picture-26

Начинаем.

  1. Откройте Xcode, перейдите в меню “File” и щелкните на элементе “New Project…“.
  2. В списке слева под меню “iPhone OS” щелкните на “Application“.
  3. Справа выберите “Navigation-Based Application“, затем воспользуйтесь кнопкой “Choose…“. Теперь нужно выбрать имя и путь. Наберите название “TAB RSS reader“.
  4. Сохраните проект, куда сочтете нужным. Продолжить чтение »
    1 звезда2 звезд3 звезд4 звезд5 звезд (7 голосов, средний: 5.00 из 5)
    Загрузка ... Загрузка ...
    Комментариев: 13 »

Май 15

Введение.

В этом обучающем материале я дам Вам краткое введение о том, как начать писать своё первое iPhone приложение. Для начала Вам потребуется последняя версия iPhone SDK, которую можно загрузить отсюда. С SDK Вы получаете некоторые сервисные программы, такие как Xcode, Interface Builder (конструктор интерфейса), iPhone simulator (симулятор iPhone) и многие другие. Первое приложение обычно называют “Hello World”, но я назвал своё первое приложение “Hello Universe”, потому как революционное устройство требует смены имени.

Цель приложения “Hello Universe”.

Используя это приложение, пользователь сможет ввести его/ее полное имя и, нажав на соответствующую кнопку, увидеть появившееся сообщение вида “John Doe says Hello Universe!!!” (Джон До говорит Привет Вселенной!!!). Данное приложение даст Вам не только представление о некоторых сервисных программах, но также покажет, как можно использовать средства управления, отвечать на события и создавать новые визуальные объекты. Продолжить чтение »

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

Май 14

Приветствую в четвертой, заключительной части урока, где мы освоим панорамирование — перемещение изображения влево–вправо. Здесь мы частично будем работать с подготовленным в предыдущих материалах кодом.
Наша задача — сделать так, чтобы изображение сдвигалось влево или вправо, когда пользователь, нажав на него, перемещает по экрану палец. Для этого воспользуемся методом touchesMoved, исходный код для которого будет выглядеть так:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

if([timer isValid])
[timer invalidate];

NSSet *allTouches = [event allTouches];

switch ([allTouches count])
{
case 1: {
//Изображение панорамируется (смещается влево/вправо)
UITouch *touch = [[allTouches allObjects] objectAtIndex:0];
CGPoint centerPoint = [touch locationInView:[self view]];

[imgView setCenter:centerPoint];

} break;
case 2: {
//Изображение увеличивается или уменьшается.

UITouch *touch1 = [[allTouches allObjects] objectAtIndex:0];
UITouch *touch2 = [[allTouches allObjects] objectAtIndex:1];

//Рассчитывается расстояние между двумя пальцами.
CGFloat finalDistance = [self distanceBetweenTwoPoints:[touch1 locationInView:[self view]]
toPoint:[touch2 locationInView:[self view]]];

//Проверка на увелечение/уменьшение.
if(initialDistance > finalDistance) {
NSLog(@"Zoom Out");
}
else {
NSLog(@"Zoom In");
}

} break;
}

}

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

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

Май 14

В этом уроке я покажу, как с помощью события touchesMoved увеличивать и уменьшать изображение в UIImageView. Пока я еще не подготовил точного кода для этих операций, но есть код, указывающий, когда именно наступает масштабирование. Если кто-то уже знает, как увеличивать и уменьшать изображение, поделитесь этим с нами.
Перед тем, как приступить к внедрению события touchesMoved, задекларируем ряд переменных и методов в файле ImgViewController.h. Вот как после этого будет выглядеть заголовочный файл:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#import

@interface ImgViewController : UIViewController {

IBOutlet UIImageView *imgView;
NSTimer *timer;
CGFloat initialDistance;

}

- (CGFloat)distanceBetweenTwoPoints:(CGPoint)fromPoint toPoint:(CGPoint)toPoint;
- (void) clearTouches;

@end

Несложно догадаться, что посредством disanceBetweenTwoPoints вычисляется расстояние между двумя точками. С помощью initialDistance отслеживается расстояние, на котором срабатывает метод touchesBegan. Продолжить чтение »

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

Май 14

Во второй части я расскажу о работе с событием touchesBegan (обязательно прочтите [первую статью] серии и загрузите исходный код).

В файл ImgViewController.m внедряем следующий метод:

1
2
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
}

Он отвечает за вывод предупреждения в случае касания изображения в течение более чем 2 сек. Вот как будет выглядеть исходный код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

NSSet *allTouches = [event allTouches];

switch ([allTouches count]) {
case 1: { //Одно касание

//Получение первого касания.
UITouch *touch = [[allTouches allObjects] objectAtIndex:0];

switch ([touch tapCount])
{
case 1: //Одно нажатие.
{
//Запускается таймер на 2 сек.
timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self
selector:@selector(showAlertView:) userInfo:nil repeats:NO];

[timer retain];
} break;
case 2: //Двойное нажатие
break;
}
} break;
case 2: { //Двойное нажатие

} break;
default:
break;
}

}

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

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

Май 14

На первом уроке освоим масштабирование изображения с приближением и удалением. Вот как будет выглядеть наше приложение:

app

Для начала выполните перечисленные ниже шаги.

  1. Создайте новый проект, выбрав “Windows-based Application“.
  2. В редакторе IB (Interface Builder) создайте новый элемент UIView, присвоив ему имя ImgView.
  3. В XCode создайте новый файл, выполнив File -> New File -> UIViewController sub class и назовите его “ImgViewController“. Продолжить чтение »
    1 звезда2 звезд3 звезд4 звезд5 звезд (14 голосов, средний: 4.79 из 5)
    Загрузка ... Загрузка ...
    Комментариев: 9 »