UIView의 drawRect 메서드를 재정의하면 [myView setNeedsDisplay]를 호출 할 때마다 임의의 색상으로 화면에 새로운 임의의 원이 그려지도록 할 수 있습니다. 오래된 서클을 대체해서는 안됩니다. 그래서, 그것은 화면 전체에 겹쳐 쌓인 원들처럼 보일 것입니다.CGRect 및 setNeedsDisplay 사용
답변
이런 식으로 drawRect:
을 사용할 수 없습니다. 그 자리에 전체보기를 그리기 위해 추가 된 볼뿐만 아니라 모든 볼을 한 번에 그려야합니다. drawRect가 호출 될 때마다 그리는 화면 영역이 이미 지워졌습니다.
초기 생각은 임의의 크기와 위치로 각 공에 대한보기를 만드는 것이 었습니다. 그러나 SonOfSillyBalls 예제 코드 (정확히 수행하려는 작업을 수행함)는 다른 접근 방식을 취합니다.
그런 다음 임의의 공을 그립니다, NSView
서브 클래스가 [self lockFocus]
을하는 drawAnother:
방법을 발사 할 수있는 반복 타이머를 설정, 그리고 다음 [self unlockFocus]
그리기를 완료 할 수 있습니다. 마지막으로 [self.window flushWindow]
을 호출하여 새 공을 화면에 표시합니다.
그렇습니다 때문에 정확히 당신이 아마 당신은 (여기서 도전이 점에서이다!)를 읽을해야 할 노력하고 있지만, SonOfSillyBalls에 대한 샘플 코드는 여기에 있습니다 : http://developer.apple.com/library/mac/#samplecode/SonOfSillyBalls/
당신은 수도 Mac OS X을 "Open Step"및 "Rhapsody"라고 지칭하는 곳에서는 오래된 문제에 대한 설명과 왜 현대 드로잉 API에 적합하지 않은지에 대해 읽어보십시오. "X"이름은 아직 발명되지 않았 음). Mac OS와 같은 클래식 Mac OS X
Silly Balls는 Apple의 가장 오래된 19 개 샘플 코드 중 하나입니다. 80 년대이지만이 버전은 Objective-C 2.0을 사용하기 위해 불과 6 개월 전에 업데이트 된 세 번째 버전입니다.
'UIView'에는'lockFocus' 메소드 또는 동등한 것이 없습니다. –
흠. 잘 잡았다. 나는 대안을 추측하고,'CALayer' (각 공에 대한 레이어 추가)를 사용하는 것일 것입니다. –
- 1. drawRect, setNeedsDisplay 및 layoutSubViews 사용
- 2. setneedsdisplay do draw draw
- 3. 복잡한 CGRect 만들기
- 4. CGRect Collision with Multiple CGRect
- 5. CGRect Grid?
- 6. 은 CGRect
- 7. display 대 setNeedsDisplay
- 8. SetNeedsDisplay not drawing NSRect
- 9. UIViewContentModeRedraw 대 setNeedsDisplay?
- 10. CGRect 및 CGrectmake 목표 C 의문점
- 11. NSKeyedArchiver/NSuserDefaults - CGRect 저장
- 12. Block을 사용하여 setNeedsDisplay/drawRect 이해하기
- 13. CGRect 수식의 중심으로부터의 백분율
- 14. 배열에서 CGRect 가져 오기
- 15. NSWindow 이동 CGRect
- 16. CGRect and touch
- 17. CGRect C 코드에서
- 18. Cocos2d의 CGRect 로직
- 19. 2 개의 CGRect 비교하기
- 20. 픽셀 단위의 CGRect?
- 21. 레이아웃에서 setNeedsDisplay 호출하기 서브 뷰?
- 22. 다른 클래스의 UIView에서 setNeedsDisplay 호출
- 23. CALayer의 setNeedsDisplay를 호출하는 UIView setNeedsDisplay?
- 24. setNeedsDisplay : NO는 전혀 사용하지 않습니까?
- 25. setNeedsDisplay 및 setNeedsLayout을 사용하여 사용자 지정 UITableViewCell을 업데이트하지 않았습니다.
- 26. CGPath가 교차하는 영역 찾기 CGRect
- 27. CGRect 개체에 배경 이미지 할당!
- 28. viewDidLoad에서 UIImageView에 대한 CGRect 변경?
- 29. CGRect 밖으로 이동하면 UIImageView가 클리핑됩니다.
- 30. CGrect 값을 사용자 좌표계로 변경
'CGRect' 대신'drawRect'를 사용합니까? – barley
네, 지적 해 주셔서 고맙습니다. 편집 됨. – CodeGuy