2011-03-14 4 views
0

Cocoa 응용 프로그램에서 사용자 정의보기를 만들고 싶습니다. 기본적으로 여러 데이터베이스 필드의 데이터가 긴 목록에 표시되는 레코드보기입니다. record view mockupCocoa 응용 프로그램에서 사용자 정의 레코드보기

지금 고려해야 할 몇 가지 사항이 있습니다 : 여기에 빠른 모형의

  • 필드의 수와 종류는
  • 필드가 다르게 포맷 할 수있다 (짧은 필드는 한 줄에 동적, 긴 필드는
  • 텍스트는 편집 할 수 없습니다). 향후, 이미지도 포함될 수 있습니다. 별도의 단락에 있지만, 사용자가 그것을
,369를 복사 할 수 있도록 선택할 수 있어야

이미 코코아에 대한 경험이 있지만이 기본 레이아웃을 어떻게 가장 잘 만들어야하는지 잘 모르겠습니다. 아이폰 OS에서는 아마도 사용자 정의 셀과 함께 UITableView를 사용할 것이지만 NSTableView는 매우 다르며이 응용 프로그램에는 적합하지 않을 수 있습니다.

몇 가지 아이디어를 내 마음에 와서 :

  1. 는 그냥 WebView를 사용하고 HTML과 같은 레이아웃을 만들 수 있습니다. HTML에 대한 많은 경험이 있으므로 레이아웃 작업이 쉬워야합니다. 반면에 이것은 더러운 해킹처럼 보입니다.
  2. NSAttributedString을 사용하십시오. 이 레이아웃은 주로 텍스트이기 때문에 가능해야합니다. 그런 다음 해당 정보를 읽기 전용 NSTextView에 입력하십시오. 레이아웃을 픽셀 완벽하게 만드는 것이 어려울 수도 있습니다.
  3. 프로그래밍 방식으로 NSTextFieldNSBox을 많이 만듭니다. 하고 설계는 복잡한 수학을 많이 포함 (하지만 괜찮아, 그래서 나는 수학을 좋아)
  4. 사용자 정의보기를 확인하고 모든

가장 좋은 방법은 무엇입니까 drawRect:에 그리기 않는 것인가? 나는 사용할 수있는 선택의 양에 압도 당하고 어떤 솔루션이 가장 깨끗한 지 알 수 없다. 누구든지 동적 데이터 뷰를 만드는 경험이 있습니까?

답변

0

NSTextField 또는 NSTextView를 사용하고 편집 가능을 NO로 설정하고 선택 가능 상태로 유지하십시오.

+0

저는 이미이 질문을 제언했습니다. 왜이 솔루션을 선호하는지 * 자세히 설명해 주시겠습니까? –

+0

당신은 모든 접근성 물건을 무료로 얻을 수 있기 때문에 끌기로 선택하면 머리 레이블 등이 포함되지 않습니다. –

1

아마도 WebView가 가장 빠른 해결책 일 것입니다.
그리고 가장 중요한 점은 사용자가 절대로이를 알아 채지 못할 것입니다.
선택 동작 만 덜 편리 할 수 ​​있습니다.

기타 솔루션 (아마도 'bettter와 청소기'한 번 제대로 구현) :

NSTabeView 사용자 정의 세포 :
http://www.martinkahr.com/2007/05/04/nscell-image-and-text-sample/
http://juliuspaintings.co.uk/cgi-bin/paint_css/animatedPaint/070-NSTableView-ImageAndTextCell.pl

NSScrollView 사용자 정의 NSViews로 일단
http://juliuspaintings.co.uk/cgi-bin/paint_css/animatedPaint/022-NSCollectionView-random.pl

NSTabeView/NSScrollView/NSScrollView,에 대한 경험이 있습니다. WebView를 구현하는 것이 훨씬 쉽고 빠릅니다.

관련 문제