ヒガレス本(日本語版) カスタムビューの作り方

43 views
Skip to first unread message

加藤敬

unread,
Mar 2, 2009, 7:53:20 PM3/2/09
to cocoa-dev-japan
加藤です。

カスタムビューの作り方が分からず、困っています。

[経緯]
カスタムビューを作ろうと思い、ヒガレス本に作り方(9章辺り)が書いてあったので、ソースコードを転記して動かそうと試みました。
しかし、IBの設定がまずかったのか動こうとしません。
文章を、読み直してみると、第7章での作り方を参照しろ・・・みたいな事が書かれていました。
Webでも似たような事しか書かれておらず、意味不明です。
環境は、Xcode3です。

[質問]
何か、IBでの設定が抜けていると思いますけど、手順が良く分かりません。
どなたか教えていただけませんか?

よろしくお願いします。m(_ _)m

wang

unread,
Mar 4, 2009, 4:27:14 AM3/4/09
to cocoa-dev-japan
ヒガレス本の日本語版というとこれでしょうか?
http://www.amazon.co.jp/Mac-OS-X-Cocoaプログラミング-アーロン・ヒレガス/dp/489471440X/

これだとするとカスタムビューの作り方は9章ではなく12章です。
また動かないというのがどういう状態なのかわかりません。

ので具体的なアドバイスは難しいのですが、一般的な話として書きます。

カスタムビューを作ったときのIBでの操作はカスタムビューの部品をウインドウなどにはりつけてクラスタブで自分の作ったクラス名をNSViewの代わ
りに設定するだけです。

それ以外の設定は思いつきません。

加藤敬

unread,
Mar 4, 2009, 9:53:33 AM3/4/09
to cocoa-d...@googlegroups.com
加藤です。

> これだとするとカスタムビューの作り方は9章ではなく12章です。
すみません。私の早とちりでした。

> カスタムビューを作ったときのIBでの操作はカスタムビューの部品をウインドウなどにはりつけてクラスタブで自分の作ったクラス名をNSViewの代わ
> りに設定するだけです。
ありがとうございます。
アドバイスを基に、コードの見直しやIBの設定を再度チェックしました。

一部、転記ミスを発見できました。 → 難無く動きました。
感謝します。

hkat...@gmail.com

unread,
Mar 4, 2009, 7:24:44 PM3/4/09
to cocoa-d...@googlegroups.com
加藤寛人と言います。
# 似たような名前でスミマセン。

せっかくですので、どのような転記ミスがあったのかを教えていただけませんか?
12章においての症例と、それが発生した原因を皆さんに伝えられますので、ご質問も
有益な情報源になると思いますよ。

いかがでしょうか。

加藤敬

unread,
Mar 5, 2009, 8:27:54 AM3/5/09
to cocoa-d...@googlegroups.com
加藤敬です。

失敗例の件、そういう事なら、ご協力します。

間違えたのは、2点。
1.IBで、"File's Owner"から右クリックでカスタムビューへ接続。(delegate)
 ソースファイルで作成したら、何処かと繋げないといけない。と、思い込んでいた。
 実は、クラス名を定義するだけで良かった。 ← 教科書の通りでOK!

2.ソースコードの転記ミス
 - (id)initWithFrame:(NSRect)frame {
    中略
 
  [path moveToPoint:p];    // ← この行を、抜かしていた。

    .........
   }

以上。

2009/03/05 9:24 <hkat...@gmail.com>:
&gt



加藤寛人

unread,
Mar 8, 2009, 5:11:54 AM3/8/09
to cocoa-d...@googlegroups.com
加藤寛人です。

ありがとうございます。日本語ヒレガス本ではRaiseManで止まっていた(あとは読んだだけ)
ので、参考になりました。

ちなみに英語のヒレガス本は第3版まで進んでいて、Leopardにも対応しています。
日本語版(第1版)と比べると、Cocoa frameworkがどんな部分で省力化できるように
なってきたかがよく分かり、面白いです。

ご参考まで。

2009/3/5 加藤敬 <tao....@gmail.com>:
--
------
Hirohito Kato
hkat...@gmail.com
Reply all
Reply to author
Forward
0 new messages