0 / 0 / 0
Регистрация: 23.11.2013
Сообщений: 5
|
||||||
1 | ||||||
Перерисовка кастомного View15.02.2015, 23:27. Показов 1354. Ответов 3
Метки нет (Все метки)
Доброго времени суток!
У меня есть класс, унаследованных от UIView, отрисовка объекта этого класса прописана в методе drawRect:. Мне необходимо по нажатию кнопки во ViewController'е циклически перерисовывать view с задержкой в конце каждой итерации. Для этого я вызываю в цикле метод setNeedsDisplay. Но, как показывает отладка, этот метод вызывается не на каждой итерации цикла, а только один раз в конце цикла. Как я понял после поисков в интернете, так сделано с целью повышения производительности. Но в моем случае надо отрисовывать view именно на каждом шаге цикла. Может быть, у кого нибудь есть идеи, как решить эту проблему? Прикладываю код, в котором пытаюсь циклически перерисовывать view:
0
|
15.02.2015, 23:27 | |
Ответы с готовыми решениями:
3
Вылетает программа при выборе пункта в диалоговом окне (AlertDialog) для кастомного View Перерисовка фрагмента области view Создание кастомного View "Матрица" В чем разница (View view) и (View v) |
38 / 38 / 6
Регистрация: 20.07.2011
Сообщений: 88
|
|
16.02.2015, 15:46 | 2 |
Попробуй перерисовывать асинхронно в главном потоке или по тику NSTimer.
0
|
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
|
|
16.02.2015, 16:57 | 3 |
Сообщение было отмечено zulkis как решение
Решение
Вы сами проблем насоздавали, теперь героически решаете. Ваш linearAnimation выполняется в главном потоке, и благодаря наличию замечательного вызова sleep благополучно его подвешивает. drawRect выполняется в runloop главного же потока, поэтому он выполняется не "в конце цикла", а когда ваш метод отдает управление.
Используйте NSTimer и забудьте навсегда про sleep (по крайней мере в главном потоке)
0
|
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
|
|
16.02.2015, 22:12 | 4 |
filyakov, я бы добавил - вообще sleep функцию забудьте. Ее не нужно использовать при разработке под iOS. Все решается другими путями.
0
|
16.02.2015, 22:12 | |
16.02.2015, 22:12 | |
Помогаю со студенческими работами здесь
4
Как сделать невидимым один из view в предыдущем item of recycler view Как во view добавить вычисляемую колонку с порядковым номером записи во view? По нажатию кнопки на View Controllere открыть Table View Controller view с чего состоит и что выполняет каждая функция в view? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |