2010-06-04 4 views
2

win32 앱을 코코아로 이식하는 중입니다. 가능한 모든 곳에서 IB를 사용하고 있습니다. 분명히 모든면에서 가능한 한 쉽게 접근 할 수 있습니다. 한 가지는 디자이너이고 win32 dev는 버튼 상태를 결정하기 위해 뷰포트 주위를 이동하는 거대한 "스프라이트 시트"에 모든 버튼 에셋을 설정합니다. yahoo가 홈 페이지에서 CSS 스프라이트를 수행하는 방식과 비슷합니다 (http://d.yimg.com/a/i/ww/met/pa_icons/20100309/spr_apps_us.png)Interface Builder + Sprite Strips

IB가이 유형 스프라이트 스트립을 기본 버튼으로 처리하도록 설정 될 수 있습니까? 프로그래밍 방식으로 뭔가를 해고 할 수는 있지만 IB에서 기본 버튼 동작과 선택기 연결을 많이 사용하고자합니다.

생각하십니까?

정말 버튼 이미지를 설정하는 코코아 방법이 아니다 때문 IB에서 지원되지 않습니다

+0

나는 그것을 얻지 못한다. 각 버튼에는 커스텀 배경이있다? 버튼 상태마다 다른 것이있을 수 있습니까? 각 사용자 정의 배경은 대형 스프라이트 시트의 일부입니까? 마우스 다운시 스프라이트를 (0px, -150px)로 변환해야한다는 것을 알고 있다고 가정 해보십시오 - 어디에서 그렇게할까요? – hooleyhoop

+0

실제로. 음, CSS 스프라이트 기법은 버튼 배경과 버튼 아이콘 모두에이를 사용합니다. IB NSButton의 기본 배경을 사용하고 아이콘에 대해서만이 기법을 사용하는 데 관심이 있습니다. 인터페이스 빌더에 아이콘이없는 기본 버튼을 만든 다음 mouseDown, mouseUp 등의 작업을 수행하기 위해 NSButton을 서브 클래 싱하고 있습니다. 스프라이트 맵을 지원하는 방법이 아닌 것 같습니다. 인터페이스 빌더에서 기본적으로. – Josh

답변

0

조쉬. CSS에서 스프라이트를 사용하는 이유는 알고 있지만 네이티브 프로그램 (모든 플랫폼에서)에서는 불필요하고 비효율적 인 것처럼 보입니다.

솔직히 말해서 스프라이트 사용법을 잊어 버리는 것이 훨씬 간단합니다. 호기심에서 표준 사용자 상호 작용을위한 버튼이 될 것인가, 아니면 게임의 버튼 라인을 따라 더 많은 것이 될 것입니까? 표준 사용자 상호 작용 (열린 파일, 글꼴 변경 등)의 경우 스톡 버튼을 가능한 많이 사용하는 것이 좋습니다. 그러나 이것이 사용자의 통제를 벗어날 수 있음을 알고 있습니다. 그 이유는 최악의 이식 된 응용 프로그램은 일반적으로 Windows 상대방과 시각적 충실을 유지하려고 시도하기 때문입니다.

관련 문제