Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
shturm_liuvil
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 2
#1

Ресайз большого графического объекта - Программирование iOS

28.05.2013, 07:42. Просмотров 452. Ответов 2
Метки нет (Все метки)

Здравствуйте, столкнулся с такой проблемой, есть задача - отобразить план этажа, с кучей помещений, и каждое помещение должно быть тыкабельно, изначально решил использовать кривые Безье, соответственно каждое помещение в коде выглядит так:
Objective-C
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
UIBezierPath *path;
// —----------------------------
path = [[UIBezierPath alloc] init];
path.lineWidth = lineWidth;
// Color
[pathColor setObject: [UIColor colorWithRed:0.1686275 green:0.1647059 blue:0.1607843 alpha:1] forKey: [NSNumber numberWithInt:path.hash]];
// Color
[pathData setObject: [NSNumber numberWithInt:0] forKey: [NSNumber numberWithInt:path.hash]];
// Move
[path moveToPoint:CGPointMake(292.3275,287.8195)];
// Line
[path addLineToPoint:CGPointMake(292.3275,288.115)];
// Line
[path addLineToPoint:CGPointMake(291.0615,288.1695)];
// Line
[path addLineToPoint:CGPointMake(292.3275,288.4105)];
// Line
[path addLineToPoint:CGPointMake(292.3275,288.692)];
// Line
[path addLineToPoint:CGPointMake(290.8125,288.3755)];
// Line
[path addLineToPoint:CGPointMake(290.8125,287.931)];
// Line
[path addLineToPoint:CGPointMake(291.874,287.8845)];
// Line
[path addLineToPoint:CGPointMake(290.8125,287.368)];
// Line
[path addLineToPoint:CGPointMake(290.8125,286.918)];
// Line
[path addLineToPoint:CGPointMake(292.3275,287.2355)];
// Line
[path addLineToPoint:CGPointMake(292.3275,287.52)];
// Line
[path addLineToPoint:CGPointMake(291.071,287.221)];
[path closePath];
[pathArray addObject:path];
Отрисовывается план нормально, но ресайз страшно тормозит, очевидно из-за того, что перерисовывается весь набор помещений за раз. Подскажите, пожалуйста, как быть в такой ситуации.
http://www.cyberforum.ru/pascal/thread43754.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2013, 07:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ресайз большого графического объекта (Программирование iOS):

Вывод графического объекта на С++
Нужно, переделать так, чтобы программа вместо символов (>,<) выводила...

Маштабирование графического объекта
Добрый день! Имеется растровый графический объект, представленный в виде...

Выделение графического объекта
Алоха, господа. Столкнулся с проблемой: есть фигура, скажем ромб, нарисованная...

Движение графического объекта
Как организовать движение круга по оси х. Понимаю, что надо нарисовать круг...

движение графического объекта
привет всем.собственно,проблема : при нажатии мышкой в любом месте формы некий...

2
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
28.05.2013, 11:46 #2
Долго и нудно оптимайзить. Перво наперво - нарисовать все один раз (для текущего масштаба) и разрезать на UIImage's. Скажем, каждое помещение в отдельной картинке. А потом из них собирать общий план. UIImage отрисовывается намного быстрее, чем кривые.

Добавлено через 1 минуту
И помещения тыкабельными сделать так гораздо проще будет.
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
29.05.2013, 09:20 #3
Ваш выбор - пример на сайте apple

Добавлено через 1 минуту
Они его обновили. У меня еще был под 4.0+
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2013, 09:20
Привет! Вот еще темы с решениями:

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

Создание графического объекта и управление им.
Доброго времени суток! Есть вопрос, мне в универе задали курсовик, создать...

Автоматическое перемещение графического объекта
Здравствуйте, помогите пожалуйста исправить или подсказать куда двигаться в...

Сохранение графического объекта в файл
Здравствуйте! Меня интересует, можно ли с помощью программного кода сохранить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru