Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Дайте совет пожалуйста http://www.cyberforum.ru/ios-dev/thread1075735.html
Всем доброго времени суток! Начал изучать программирование по книге Дэна Пайлона и Трейси Пайлон "Программируем для iPhone и iPad". В книге используется xcode 4 и iOS SDK 4.3. На первой же задаче столкнулся с проблеммой в xcode, все что написано в книге видимо уже устарело, делаю то, что там написано, а xcode выдает различные ошибки, даже не могу сделать изменение надписи на кнопке при нажатии...
Программирование iOS Сбилдить приложение Добрый день, коллеги. У меня есть небольшое приложение, мне нужно выложить его в интернете для своих друзей. В общем сделать шаги, которые описываются в этой статье http://habrahabr.ru/post/160087/. Но у меня нет аккаунта разработчика. Кто-нибудь может сбилдить у себя моё приложение, а потом прислать мне ipa файл? Заранее благодарен. http://www.cyberforum.ru/ios-dev/thread1075670.html
Программирование iOS Изменение текста на кнопке
Всем доброго времени суток! Ребят помогите новичку разобраться. Начал изучать Objective-C по книге, в ней есть задача "Изменение текста на кнопке", в которой необходимо написать следующий код: в файле ViewController.h: @interface ViewController : UIViewController { UILabel *decisionText_; } @property (retain, nonatomic) IBOutlet UILabel *decisionText; ...
Программирование 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. Просмотров 1027. Ответов 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? Что менее затратно для системы и что меньше будет влиять на производительность? Или может существует вообще другое решение для моей ситуации? Может тут вообще все гораздо проще а себе усложнил задачу.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru