하나 이상의 버튼이있는 대화 상자가있어서 프로그래밍 방식으로 가장 오른쪽 하나를 기본값으로 설정할 수 있기를 원하는 경우 사용자가 Enter 키 또는 Return 키를 누른 경우처럼 응답해야합니다. 사용자가 클릭했습니다.파란색 모양의 NSButton 기본 버튼
저는 [btn setKeyEquivalent:@"\r"]
을 사용하고 있으며 정상적으로 작동하지만 버튼에 파란색 모양이 나타나지 않게하고 싶습니다. 내가 무엇을해야 하나?
하나 이상의 버튼이있는 대화 상자가있어서 프로그래밍 방식으로 가장 오른쪽 하나를 기본값으로 설정할 수 있기를 원하는 경우 사용자가 Enter 키 또는 Return 키를 누른 경우처럼 응답해야합니다. 사용자가 클릭했습니다.파란색 모양의 NSButton 기본 버튼
저는 [btn setKeyEquivalent:@"\r"]
을 사용하고 있으며 정상적으로 작동하지만 버튼에 파란색 모양이 나타나지 않게하고 싶습니다. 내가 무엇을해야 하나?
버튼 베젤 스타일을 올바르게 설정하지 못하고 올바르게 보이지 않았습니다. 기본 버튼을 설정 후 다음 작업 중 하나를
[btn setBezelStyle:NSRoundedBezelStyle];
: 지금은이 같은 버튼을 설정하고있어
[myWindow setDefaultButtonCell:[btn cell]];
또는
내 설정을 사용자 정의 시트왔다[btn setKeyEquivalent:@"\r"]
문서는 말한다 : 당신이 돌아갑니다 해당하는 키를 설정하면, 그 버튼이 기본 버튼이됩니다
하는 것으로.
따라서 제대로 수행하고 있습니다. 다음과 같이 키를 설정 한 후에이 방법을 시도해 볼 수 있습니다.
[button setNeedsDisplay:YES];
이렇게하면 단추가 다시 그려집니다.
요세미티 이상에서는 여전히 푸른 색을 냅니 까? 핵심 대화 상자가 Return (작은 왼쪽 아래 화살표 기호)이지만 내 대화 상자에는 나타나지 않습니다. – Jay
[myWindow setDefaultButtonCell:[btn cell]]; // should do the trick.
자세한 내용은 Apple's documentation을 참조하십시오.
기본 버튼을 NSAlert와 같이 표시하고 싶습니다. 다음 구성을 사용하면 파란색 기본 모양이 나타납니다. 10.12.3 Sierra에서 작동합니다.
button.bezelstyle = NSBezelStyleRounded; // Push in Interface Builder
button.keyEquivalent = @"\r";
button.highlighted = YES; // this is the most important part.
그냥이 솔루션을보고 흥분으로 자신을 더러워. 버튼을 기본 버튼 셀로 설정하고 강제로 키 동등한 키를 설정하지 않았다는 것을 믿을 수 없습니다. 때로 NSView에 반환 할 단축키가있는 키가 포함되어있는 경우에도이 작업을 수행해야합니다. 이상하지만 진실입니다. 감사! – Kezzer
Interface Builder에서 'Push'스타일을 선택해야합니다. 인터페이스 빌더가 제공하는 15 가지 스타일을 모두 거쳤으며 OS X 10.8.3 (Mountain Lion.)의 기본 버튼 셀로 설정되었을 때'푸시 '만 파란색으로 빛납니다. 다른 유형은 반환 키를 해당 키로 사용하고 기본값이됩니다 버튼을 누르면 '푸시'버튼 만 파란색으로 빛납니다. 나는 다른 버전의 OS X에서 전혀 테스트하지 않았다. Snow Leopard (?)에서이 질문이 필요하지 않았고 2009 년에이 질문이 나오고 답변을 받았을 가능성이 매우 높습니다. – ArtOfWarfare
감사합니다. 이것은 나를 도왔습니다 :) – Sid