Objective C - 在ParentView上处理iPhone /处理子视图事件

时间:2015-03-26 14:36:27

标签: objective-c iphone uiviewcontroller uiscrollview event-handling

我在尝试从父视图的子视图处理事件时遇到问题,现在我有一个UIViewController,它有一个subView另一个UIViewController,在这个子视图中我有一个分页scrollView,我想要解雇一个当我滑动子视图滚动视图时父视图上的方法,你对我如何开发这个有什么建议吗?谢谢

1 个答案:

答案 0 :(得分:0)

您可以将父视图作为子视图的委托。

将其添加到SubView.h:

// add
@protocol SubViewClassNameDelegate
@required
- (void)triggerMethodFromSubView:(NSString *)value;
@end
//

@interface SubViewClassName : UIView

// add
@property (nonatomic, assign) id<SubViewClassNameDelegate> delegate
//

@end

然后在父视图类中,将其添加到ParentView.h:

@interface ParentViewClassName : UIView /* add -> */ <SubViewClassNameDelegate>

并在子视图实例化后立即在ParentView.m中显示:

[mySubView setDelegate:self];

最后,在ParentView.m中的某处添加委托触发器方法:

- (void)triggerMethodFromSubView:(NSString *)value {

// do stuff

}

现在,您可以在子视图类中的任何位置调用[self.delegate triggerMethodFromSubView:@"Hello World"],它将告诉父视图调用您的委派方法。

如果您需要其他信息,请参阅以下有用教程:http://www.alexefish.com/post/522641eb31fa2a0015000002