私はこれが初めてで、答えが見つかりませんでした。私の古い 4.x アプリでは、独自の UIView を実装したファイルを追加しました。ここで、「drawRect:(CGRect)rect」を実行していくつかの行を描画しました。例えば...
/// DrawView.h
#import <UIKit/UIKit.h>
@interface DrawView : UIView <UINavigationControllerDelegate> {
...
}
-(void)DoSomething;
@end
次に、View Controller .m ファイルで、DrawView.h をインポートした後、次のようにします。
self.view = (DrawView *)self.view;
[(DrawView *)self.view DoSomething];
私のIOS4のもので魅力的に働きました。ストーリーボードを使用して IOS5 アプリを試してみたところ、このトリックは機能しなくなりました。
最初の行...
self.view = (DrawView *)self.view;
クラッシュしません。しかし、画面には絵が見えません。drawRect が何かを表示することを期待していました。何もない。だから私は任務が成功したか、どこかに何かが隠されているとは思わない.
二行目…
[(DrawView *)self.view DoSomething];
次のエラーを返します。
-[UIView DoSomething]: 認識されないセレクターがインスタンス 0x87631b0 に送信されました sharedlibrary apply-load-rules all
プログラム受信シグナル SIGABRT
drawRect (ペイント用) はビューコントローラーで直接実行できず、UIView の別のインスタンス化された実装で実行する必要があることをどこかで読んだことがあります。それが私がこれをする理由です。しかし、どうやらカスタム ビューをコントローラーの self.view に割り当てるための私の古いトリックは機能しなくなりました。
これを行う方法を知っていますか?つまり、ストーリーボードなどを使用するときですか?
ありがとう