MyController.hとmyController.mを定義し、ウィザードを使用してmyController.xibを作成しました。ただし、xibファイルのコントロールをクラスインターフェイスに接続できません。通常、ファイルのオーナーアイコンに十字線をドロップすると、IBOutletとして宣言されているプロパティのリストが表示されますが、今回は何も表示されません。
クラスファイルとXIBファイル(myController)の名前が自動的にファイルの所有者をバインドすると思いましたが、明らかにそうではありません。
2つを手動でバインドするにはどうすればよいですか?
Identity Inspector
(Cmd + Option + 3)をクリックし、クラスをmyController
に変更します。
ここでは5.1です:
見つけるのに時間がかかったので、このスクリーンショットを追加すると思いました。
同じ質問がありました... XCode 4.2はUIViewControllerのサブクラスを作成することを可能にし、そこでオプションで "with XIB for user interface"オプションをチェックできます。
新規ファイル... >> UIViewControlerサブクラス>> "with xib ..."
手動で行う方法を見つけました...世界でXIBが使用されなくなったとき... XIBまたはNIBファイルをお気に入りのテキストエディターで開きます
そこにこの行があります...
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MyClassName">
MyClassName
を参照先のクラスに変更し、ファイルを保存すると、ファイルの所有者が変更されます。注意:Xcodeを閉じ(変更を自動的に再読み込みするため)、何かが台無しになった場合に備えてバックアップを取ります。
Xcode 4で同じ問題が発生しました。ファイルの所有者に接続しようとしているときに、接続線をドラッグしてファイルの所有者にカーソルを合わせると、アイコンが応答しませんでした。カスタムクラスのリセットが機能しませんでした。私は結局Xcodeを終了して再起動しようとしましたが、これでうまくいきました。