nsview에서 확대
-
20-09-2019 - |
문제
사용자가 원을 그릴 수있는 nsview가 있습니다. 이 원은 nsbezierpaths의 배열로 저장되며 DrawRect :, 나는 배열을 통해 루프하고 호출합니다. -stroke
각 경로에서. NSView를 확대하고 출시하기 위해 버튼을 추가하려면 어떻게합니까? 뷰의 한계를 변경 하시겠습니까?
감사.
해결책
당신의 견해를 보내십시오 ㅏ scaleUnitSquareToSize:
메시지.
다른 팁
이 정보를 찾을 수도 있습니다.
https://developer.apple.com/library/content/qa/qa1346/_index.html
이 문서의 코드를 사용하면 "스케일"속성을보기에 추가 할 수 있습니다.
위의 답변은 내 시나리오에서는 효과가 없었지만 솔루션으로 이끌었습니다.
@Peter의 답변에 대한 업데이트 된 링크가 도움이되었습니다. scaleUnitsquaretosize
축소를위한 두 가지 영혼을 찾았습니다.
- 수동으로 경계를 자릅니다
- 경계를 파기
scaleUnitSquareToSize
작은 테스트 프로젝트를 만들었습니다. 두 솔루션 모두 Github Repo에서 찾을 수 있습니다. boundsandframescroppingandscalling
경계 대 프레임을 이해하려면이 기사를 읽으십시오. 차이 가운데-프레임과 바운드.
신속한 파기 코드 :
let scaleSize = NSSize(width: 0.5, height: 0.5)
// 0.5 - Half the size
// 1.0 - No calling
// 2.0 - double the size , ... etc
myView?.scaleUnitSquare(to: scaleSize)
myView?.needsDisplay = true
제휴하지 않습니다 StackOverflow