我是新手,找不到答案。在我的旧 4.x 应用程序中,我添加了实现我自己的 UIView 的文件,我在其中运行了一些“drawRect:(CGRect)rect”来绘制一些线条。例如...
/// DrawView.h
#import <UIKit/UIKit.h>
@interface DrawView : UIView <UINavigationControllerDelegate> {
...
}
-(void)DoSomething;
@end
然后,在我的视图控制器 .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 分配自定义视图的旧技巧不再有效。
你知道怎么做吗?我的意思是,当使用故事板时?
谢谢