objective-c - IOS 从一个 View 访问另一个 View

标签 objective-c ios uiview uiviewcontroller

基本上我有一个有两个 subview 的 View Controller 。我希望将这些 View 连接起来。触摸事件应该从另一个 View 触发事件,反之亦然。我想过两种解决方案。

1-) 通过 View Controller 访问 View

2-) 每个 View 都有一个指向另一个 View 的指针

我是 IOS 的新手,据我从其他问题中读到的,提到不建议从 View 访问 View Controller 。那么,你们建议我做什么?

编辑:

我在编码方面没有取得太大进展,但我的第一个观点是:

@interface PaintView : UIView
-(id)initWithFrame:(CGRect)frame andController:(ViewController*)ctrl;

我将控制触摸事件并访问我的 View Controller :

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
     //[self.controller somethingThatAccessToOtherView]
}

第二个 View 将与那个非常相似。

最佳答案

为什么不用委托(delegate)模式!
对于两个 View 相互通信.. 它本质上类似于“每个 View 都有一个指向另一个 View 的指针”,但以更灵活的方式

here上面有一个 so thread 和

关于objective-c - IOS 从一个 View 访问另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14190656/

相关文章:

php - 你能将 php 函数quoted_printable_decode() 转换为基于 NSString 的 Objective-C 函数/类别方法吗?

ios - Tesseract 改进和图像预处理步骤

iOS6/iOS 7 UIView 透明度

iphone - 使用UIView convertRect方法多次检测CGRectIntersectsRect的高级方法

objective-c - 从 NSSet 中获取对象

ios - 根据状态以编程方式更改 UIButton 字体颜色

objective-c - 将 CGImageRef 转换为 NSData

ios - 在 iOS 5 中使用 Storyboard时无法将多个按钮分配给 UINavigationItem

ios - 通过按下按钮在两种颜色之间交替 UIView 背景

iphone - 如何将 UIView 拖入表头