2014-12-19 2 views
-1

프레임이 UIView에 설정되면 setNeedsDisplay가 UIView에 의해 호출되어 drawRect를 호출하는 것으로 나타났습니다. contentMode를 Center, ScaleAspectFit, ScaleToFill로 설정했을 때도 마찬가지입니다. drawRect를 프레임이 변경 될 때가 아니라 한 번만 호출되도록하고 싶습니다. 이것이 가능합니까/이것을 가능하게하는 contentMode가 있습니까?setFrame이 호출 될 때 drawRect가 호출되지 않음

답변

0

drawRect:을 (를) 호출해도 귀하의 비즈니스가 아닙니다. 당신이 이것에 대해 걱정한다는 사실이 문제입니다. 시스템은 호출해야 할 때 호출합니다. 당신의 일은 그것이 불릴 때마다 그려야합니다. drawRect:을 올바르게 구현했다면 문제가되지 않습니다. 그것은 틀입니다. 그것은 당신의 직업을 수행합니다.

+0

내 drawRect는 올바른 일을하기 위해 작성되었습니다. 내 우려는 이것이 CPU에 묶여 있고 가능한 모든 것을 줄이고 싶습니다. – shreyasva

+0

iOS 도면 시스템에 대해 알고 있습니까? _every_ runloop의 끝에서 다시 그리기를 고려한다는 것을 알고 있습니까? CATransaction과 각 트랜잭션이 커밋 될 때 어떤 일이 발생했는지 알고 있습니까? 드로잉에는 어떤 종류의 부담이 없습니다. 런타임은 그릴시기를 알고 있습니다. 코드가 실행되는 동안 실제 그리기가 수행되지 않습니다. 행복 할까 걱정하지 마십시오. – matt

관련 문제