2013-04-02 3 views
3

У меня есть UIView Graph с основным методом и некоторыми другими методами, которые рисуют разные вещи. Когда приложение запускается, просмотр рисуется отлично, и у меня нет проблем с ним. Но когда я пытаюсь кнопку (расположенную на том же UIView), чтобы использовать перекроить то, что я просто получаю ошибку:Как перезагрузить UIView?

кнопка
CGContextDrawPath: invalid context 0x0 

не называет основной метод DrawRect. Кроме того, если я пытаюсь использовать:

[self setNeedsDisplay:YES]; 

Я получаю сообщение об ошибке:

Нет видимых @interface для ViewController заявляет селектор «setNeedsDisplay»

+7

'[self.view setneedsDisplay: YES];' –

+0

Вы сохраняете контекст с помощью сильного указателя или каждый раз настраиваете контекст? Пожалуйста, покажите код. –

+0

Я вообще не храню контекст. –

ответ

0

Вы звоните setNeedsDisplay на экземпляре UIViewController в то время как вам нужно назовите его на своем UIView.

[self.view setNeedsDisplay:YES]; 
+0

, даже если поместить мое имя для просмотра? Я получаю такую ​​же ошибку: [self.GraphView setNeedsDisplay: YES]; [GraphView setNeedsDisplay: YES]; –

+0

@JamesDouglas показать больше кода ... –

+0

@JamesDouglas Является ли 'GraphView' экземпляром? camelCase notation ...;) –

5

setNeedsDisplay не будет работать на подобозрения .... она будет работать только для Вид на ViewController

1

Попробуйте использовать этот метод

- (void)setNeedsLayout 

setNeedsLayout из developer.apple. com

Смежные вопросы