문제

우선; 나는 Cocoa에서 완전한 초보자이므로, 내가 무엇인지 물어 보면서 나와 함께 초보적인 질문이 무엇인지 물어보십시오.

내 상황은 다음과 같습니다. Nstextfield의 기능을 확장하고 싶습니다. 내가 달성하고자하는 것 중 하나는 다음과 같습니다.

돌보는 모습과 느낌을 바꾸는 것.

텍스트가 특정 수의 문자에 도달 할 때 감지 한 다음 해당 제한 이후에 텍스트를 색칠합니다. *

꽤 오랫동안 인터넷 검색을 한 후의 큰 좌절에 나는 단순히 "sublass nstextfield를 말하고이 코드를 사용하는"수백 가지의 히트 곡을 발견했습니다. 그리고 내 굴욕에 나는 이것을하는 방법을 정확하게 생각할 수 없다는 것을 알게되었습니다.

누군가 위에 나열된 두 가지 사항 중 하나를 달성하는 서브 클래스의 작업 예제를 제시하고 코드를 구현하는 방법에 대한 지침*을 통해 일부를 보면서 어떻게 작동하는지 알아낼 수 있도록 코드를 구현하는 방법에 대한 지침*을 제시 할 수 있다면 대단히 감사 할 것입니다. 실제 라이브 코드.


나는 나의 늦은 응답에 대해 매우 사과한다!

여러분 모두에게 사과합니다. 나는 집에 복통 유아가 있고, 당신 (또는 적어도 자녀가있는 사람들)이 이것이 당신의 가능한 많은 시간을 차지한다고 상상할 수있게 될 수 있습니다. 귀하의 답변에 감사드립니다.

내 주요 문제 중 하나는 대표와 매장에 대한 충분한 이해가 없다는 것입니다. 나는 여기에서 추천 된 책을 구입했습니다 (그리고 다른 많은 장소. 일종의 "성경"이 모여). 나는 요즘 몇 시간 동안 이야기 할 때 그것을 조사하고 있습니다. :)

그러나 나는 그것이 필수 불가결 한 도구가 될 것임을 알 수 있지만, 나는 여전히 이론을 읽지 않고 예제를 연구함으로써 가장 이해를 얻습니다. 나는 아마도 Nstextfield 클래스를 확장해서는 안된다는 것을 이해하기 때문에?

나는 마크 탈만 포스트를 즉시 "Dummies를위한"응답이라고 확신하기 때문에 즉시 대답으로 게시 할 것이지만, 파일을 정말로 좋아하는 것을 좋아하기 때문에 며칠 동안 보류하겠습니다. 그러나 나는 배고프지 않다!

아, 그리고; 내가 실제로 아는 언어가 쓸모가 없다고 말할 때 저를 믿으십시오. 인터페이스 빌더 및 GUIS 연결이 코드에 대한 이러한 개념은 나에게 매우 알려지지 않았다는 것입니다. 나는 보통 코드를 작성하고 그것을 유지합니다.


*예, 저의 첫 작은 교육 프로젝트는 실제로 트위터 유틸리티입니다.

*아이를 좋아합니다

*이론을 읽는 것이 나에게도 엄청난 가치가 없다는 것은 아닙니다. 나는 Colin Moock이없는 곳에 있지 않을 것입니다.

도움이 되었습니까?

해결책

남자 이름,

"새 파일"대화 상자로 시작하여 왼쪽에서 "코코아"를 선택한 다음 Objective-C 클래스를 선택했습니다.

주석없이 다음 코드를 생성합니다. 그런 다음 헤더의 "@interface"라인에서 nsobject를 "nstextView"로 변경하면 서브 클래스가 작동하는 경우가 있습니다. Xcode 3.0을 사용하는 경우 인터페이스 빌더로 이동하여 Nstextfield의 클래스를 "MytextView"로 변경할 수 있습니다.

또한 Aaron Hillegass의 책 "Mac OS X를위한 Cocoa Programming, Third Edition"을 수령해야합니다.

행운을 빕니다.


#import <Cocoa/Cocoa.h>


@interface MyTextView : NSTextView {
 // Outlets & Members go here
}
// Actions & messages go here
@end


#import "MyTextView.h"


@implementation MyTextView

@end

다른 팁

setInsertionPointColor: Caret Color를 돌보는 데 도움이되며, 대표 방법을 사용하는 것이 문자 수가 변경된 후 텍스트를 색칠하는 가장 좋은 방법입니다. 일반적으로 코코아의 많은 수업은 다음과 같습니다. 서브 클래스를 할 수 있지만 변경 해야하는 대부분의 기능은 대의원 방법에 있습니다.

NSTextField 실제로 텍스트 편집을 구현하지 않기 때문에 특별합니다. 그것은 공유 (창 당)에 의해 수행됩니다. NSTextView, 현장 편집기. 주어진 특별 현장 편집기를 제공 할 수 있습니다. NSTextField. 이것은 서브 클래싱으로 정식으로 수행됩니다 NSWindow (!) 및 재정의 -fieldEditor:forObject:. 그래도 내가 이것을 찾았을 때 나는 찾았다 NSTextFieldCell'에스 -setUpFieldEditorAttributes: 방법은 마치 다른 필드 편집기를 반환 할 수있는 것처럼 보입니다.

권장 독서 : 코코아의 제어 및 셀 프로그래밍 주제, 텍스트 시스템 개요.

  1. 실제로 서브 클래스를해야한다면 서브 클래스가 필요합니다. NSTextFieldCell. 정보에 대한 정보 NSCells ~이다 사용 가능한 온라인.

  2. 절대적으로 필요하지 않은 경우 셀을 서브 클래스하지 마십시오. 사용 대표 방법.

  3. 최소한 색상을 사용하여 변경할 수 있습니다 NSTextField의 바인딩, 그것들을 사용하십시오.

포피터로 필요한 기능을 얻을 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top