2012-03-31 32 views
0

我有一个mainUIView其中有一个自定义的UIImageView(名为myImageView)。为什么我的UIView不是我的UIImageView的“父母”?

在myImageView.h文件,我已经宣布:

@property (strong, nonatomic) mainViewController *viewController; 

和在myImageView.m文件,我有以下代码:

 self.viewController = self.parent; 

此线引发错误指示: 在myImageView类型的对象上找不到属性'parent'。

我认为把myImageView放在mainUIView中会使默认的父 - 子关系,但显然不是这样。

在主要故事板中,我尝试将myImageView拖动到mainViewController,但没有选项弹出来供我选择委托。

任何人都可以给我这些解释吗?我感到有点困惑......非常感谢!

回答

1

由于你的myImageView是一个UIView没有父。只是有一个superview,它又是一个UIView。基本上一个视图不知道它的控制器。尽管控制器可以实现视图的委托来获取有关事件的信息。所以你的AppDelegate知道你的ViewController并且控制器知道你的ImageView。 AppDelegates窗口知道你的控制器的视图,它很可能包含整个视图层次结构(除了AlertViews,HUDViews,模态视图和类似...)。

我认为你想要做的事情最好的实现委托模式。 (请参阅Apple Docs)

相关问题