Форум программистов, компьютерный форум, киберфорум
Наши страницы

UIBezierPath vs UIView - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Дайте совет пожалуйста http://www.cyberforum.ru/ios-dev/thread1075735.html
Всем доброго времени суток! Начал изучать программирование по книге Дэна Пайлона и Трейси Пайлон "Программируем для iPhone и iPad". В книге используется xcode 4 и iOS SDK 4.3. На первой же задаче...
Программирование iOS Сбилдить приложение Добрый день, коллеги. У меня есть небольшое приложение, мне нужно выложить его в интернете для своих друзей. В общем сделать шаги, которые описываются в этой статье http://habrahabr.ru/post/160087/.... http://www.cyberforum.ru/ios-dev/thread1075670.html
Программирование iOS Изменение текста на кнопке
Всем доброго времени суток! Ребят помогите новичку разобраться. Начал изучать Objective-C по книге, в ней есть задача "Изменение текста на кнопке", в которой необходимо написать следующий код: в...
Программирование iOS Расстановка выровненного по ширине текста в TextKit
Коллеги, Пробовал кто-нибудь рисовать текст с помощью TextKit? Проблема такая: текст выровнен по ширине, переносы включены (hyphenationFactor = 1). В большинстве случаев все здорово, но если...
Программирование iOS Office 2011 для IOS http://www.cyberforum.ru/ios-dev/thread1074015.html
Проблема: директор в Mac booke в excel'е при добавлении примечания автоматом вставляет "имя фамилия" и дальше ожидание ввода текста. Пользователя "имя фамилия" в компе нет, но примечание все равно...
Программирование iOS Переход на OS X Mavericks Добрый день! У меня macBook air и mac os 10.7.5, хочу скачать OS X Mavericks 10.9.1. Делать резервную копию нет возможности, поэтому хочу уточнить, сохраняться ли установленные программы и вкладки в... подробнее

Показать сообщение отдельно
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201

UIBezierPath vs UIView - Программирование iOS

21.01.2014, 01:11. Просмотров 1098. Ответов 4
Метки (Все метки)

Всем доброго времени суток! Мне нужен ваш совет по поводу отрисовки в UIVIew.

У меня следующая ситуация:
Есть мой кастомный класс MyView наследник UIView в нем собственно происходят все события.
В этом классе в методе drawRect я отрисовываю сетку (линии сетки представляют из себя тонкие bezierPathWithRect).

Далее мне надо по мере работы моего приложения добавлять кружочки небольшого диаметра, в методе drawRect:
Objective-C
1
UIBezierPath *ovalPath=[UIBezierPath bezierPathWithOvalInRect:rect_];
Количество кружочков со временем работы будет расти до не известного мне количества, может до 10, а может и до 1000.
И у меня возникла проблема в том что по мере добавления кружков мне все их надо отрисовывать т.е. загонять все
UIBezierPath *ovalPath в массив и при вызове drawRect их все рисовать заново, потому что при отрисовке только одного нового кружка все старые удаляются.
Я начал думать, а если у меня будут 1000, а может и 10000 кружков не будет ли это накладно их все заново перерисовывать каждый раз когда создается новый кружок. Я подумывал о setNeedsDisplayInRect, но это тож не вариант т.к. кружки могут пересекаться.

Потом я подумал, а может использовать UIView для кружков и добалять их как subview для главного моего view:
Objective-C
1
2
3
self.circleView = [[UIView alloc] initWithFrame:CGRectMake(x,y,10,10)];
self.circleView.layer.cornerRadius = 5;
[myView addSubview:circleView];
Тогда я выигрываю как мне кажется в том что я разгружаю графическую систему, мне не приходится перерисовывать все кружки каждый раз в drawRect. Но при этом со временем я думаю будет расти использование оперативной памяти, т.к. наверно добавление 1000 subview скушает не мало памяти.

Так вот собственно хочу попросить ваш совет. Как мне лучше поступить? Рисовать 1000 UIbezierPath в drawRect или добавлять 1000 UIview как subview? Что менее затратно для системы и что меньше будет влиять на производительность? Или может существует вообще другое решение для моей ситуации? Может тут вообще все гораздо проще а себе усложнил задачу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru