이미지를 코코아의 텍스트 필드 배경으로 사용할 수 있습니까? 그렇다면 어떻게?어떻게 이미지를 코코아의 텍스트 필드 배경으로 사용할 수 있습니까?
답변
이 그것을 할 수있는 "올바른"방법 인 경우 나도 몰라,하지만 마음에 오는 첫번째 것은이 같은 약 보일 수 있습니다 NSTextField있는의 사용자 지정 하위 클래스 수 있도록하는 것입니다 :
- (void)awakeFromNib
{
[self setDrawsBackground:NO];
}
- (void)drawRect:(NSRect)rect
{
[super drawRect:rect];
[self lockFocus];
[[NSImage imageNamed:@"<#image filename#>"] drawInRect:rect
fromRect:rect
operation:NSCompositeSourceOver
fraction:1.0];
[self unlockFocus];
}
을
다시 말하면 필수적인 부분에 대한 대략적인 개요입니다.
어쨌든, 내가 말했듯이,이게 실제로 "올바른"방법인지 (또는 "올바른"방법이 있는지는) 문제가 될지 모르겠다. 그러나 이것은 당신에게 배경을 줄 것이다. 귀하의 NSTextField에 대한 이미지.
당신은 어디 그것을에서 드래그 것, 프로젝트에 이미지를 추가하려면 : 여호수아의 의견에 응답
편집 (나는 그 작은 작은 주석 상자에 충분한 공간이 않을거야) 프로젝트 창 (프로젝트 창의 중간에있는 파일의 주 목록, Xcode 편집 환경을 설정 한 방법에 따라 다르지만 이것은 다를 수 있음)에 있습니다. 클래스가 NSTextField
대신 NSObject
에서 상속되도록 헤더를하지만, 편집 - NSTextField
를 서브 클래 싱하기 위해
, 당신은 새로운 목표 - C 클래스 파일 (> 새 파일 ... 파일)을 생성 할 것이다. 즉, 헤더 파일은 다음과 같습니다
이#import <Cocoa/Cocoa.h>
@interface BGImageTextField : NSTextField
{
}
@end
코드의 나머지 부분에 관해서는, 당신은 (예를 들어, BGImageTextField.m
) 구현 파일의 본체에 그것을 추가 할 것, 특히에 @implementation
과 @end
개의 키워드 사이
나는 두 가지 언급도하고 싶습니다. 먼저 Aaron Hillegass가 작성한 코코아 프로그래밍 (Mac OS X)을 참조하십시오.이 설명서는 Auron Hillegass가 전한 코코아 기본 사항 중 대부분을 다루며 일반적으로 코코아를 배우는 가장 좋은 방법 중 하나입니다. 둘째, 내 접근 방식이 효과적 일지는 모르겠지만, 특히 최근에 NSTextField를 확장하는 더 나은 방법을 암시하는 것으로 보이는 최근에 this post을 발견 한 이후로 가장 좋은 방법은 아닙니다.
위 예제에서 textField의 셀은 그려지지 않습니다. [super drawRect : rect]를 추가하면; 그것의 끝에서, 그것과 포커스 링 드로잉 모두 다시 작동해야합니다. 이미 DrawDivsBackground를 NO로 설정 했으므로 super의 drawRect가 어떤 것도 엉망이되어서는 안됩니다. 일을 엉망으로 만들 수도있는 또 다른 일은 fieldEditor가 배경을 그리는 것입니다. 그것에 대해 확실하지 않습니다. 마지막 사항 : 그리기 성능 저하를 방지하기 위해 textField에 불투명 한 조상이 있어야합니다. –
아, 좋은 지적 - 나는 그것을 반영하기 위해 내 게시물을 편집했습니다. (어떤 이유로, 처음 시도했을 때 drawRect를 호출하면 배경 이미지가 그려집니다.) 일반적으로이 문제에 접근하는 더 좋은 방법이 있었으면 좋겠다. . – hbw
고마워, 1 추가 질문하지만, 어디 배경 이미지를 배치합니까? – Joshua
NSTextField를 서브 클래 싱하는 대신 배경색을 투명하게 [NSColor clearColor]로 만들고 그 뒤에 이미지를 넣으십시오.
방금 시도해 봤지만 나에게 도움이되지 않습니다. 그러나 저는 그 아이디어가 마음에 들었습니다. 그것은 제 방법보다 훨씬 간단합니다. – hbw
- 1. 어떻게 스크롤 막대 이미지를 사용할 수 있습니까?
- 2. 이미지를 배경으로 늘이기
- 3. 내가 HTML div에서 배경으로 두 이미지를 사용할 수 있습니다
- 4. CSS를 사용하면 텍스트 색상으로 이미지를 사용할 수 있습니까?
- 5. CSS : 이미지의 일부만 반복하여 배경으로 사용할 수 있습니까?
- 6. sectionIndexTitlesForTableView에 이미지를 사용할 수 있습니까?
- 7. 이미지를 항목으로 표시하는 QMaemo5ListPickSelector를 사용할 수 있습니까?
- 8. 이미지를 UINavigationBar의 제목으로 사용할 수 있습니까?
- 9. iText를 사용하여 텍스트 아래에 PDF 배경으로 이미지를 삽입하는 방법은 무엇입니까?
- 10. 버튼을 사용할 수 없으면 어떻게 이미지를 변경합니까?
- 11. 이미지를 텍스트 영역에 추가 할 수 있습니까? 그렇다면 어떻게?
- 12. C# 프로젝트에서 shell32.dll 내의 이미지를 어떻게 사용할 수 있습니까?
- 13. 투명한 이미지를 투명한 winform에서 배경으로 사용하는 방법?
- 14. 웹 사이트에서 벡터 이미지를 사용할 수 있습니까?
- 15. 뷰에서 전체 텍스트 인덱싱을 사용할 수 있습니까?
- 16. 어떻게 텍스트 상자에서 onkeyup 이벤트를 사용할 수 있습니까? !
- 17. GDI +를 사용하여 투명한 배경으로 이미지를 만드시겠습니까?
- 18. .htaccess에서 어떻게 사용할 수 있습니까?
- 19. django.auth.views.login을 어떻게 사용할 수 있습니까?
- 20. 어떻게 피봇을 사용할 수 있습니까?
- 21. 어떻게 SQLSMO를 사용할 수 있습니까
- 22. django.utils.safestring.py를 어떻게 사용할 수 있습니까?
- 23. '안전하게'window.history.pushState를 어떻게 사용할 수 있습니까?
- 24. django.core.files.File을 어떻게 사용할 수 있습니까?
- 25. 어떻게 Linq를 사용할 수 있습니까?
- 26. 메모리에서 검색된 이미지를 버튼 배경으로 표시합니다.
- 27. 코코아의 양방향지도
- 28. 패널 컨트롤에 배경으로 이미지를 적용하는 방법
- 29. Visual Basic에서 배경으로 다른 이미지를 스크롤
- 30. 투명 배경으로 세로 탭을 설정할 수 있습니까?
누군가? 누군가? – Joshua