Iphone 如何在一个视图类中通知另一个视图类
我的第一次浏览页面浏览我喜欢这样Iphone 如何在一个视图类中通知另一个视图类,iphone,objective-c,ios,cocoa-touch,Iphone,Objective C,Ios,Cocoa Touch,我的第一次浏览页面浏览我喜欢这样 PageView.m 我希望当我的CameraView移动时设置albumListView.hidden=NO。 怎么做 CameraView.m 如何使用委托或其他方式? 谢谢大家! 假设PageView类是创建CameraView实例的地方,您可以这样做: @class CameraView; @protocol CameraViewDelegate <NSObject> @optional - (void)cameraViewMoved:(C
PageView.m
我希望当我的CameraView移动时设置albumListView.hidden=NO。
怎么做
CameraView.m
如何使用委托或其他方式?
谢谢大家! 假设
PageView
类是创建CameraView
实例的地方,您可以这样做:
@class CameraView;
@protocol CameraViewDelegate <NSObject>
@optional
- (void)cameraViewMoved:(CameraView *)view;
@end
if ([self.delegate respondsToSelector:@selector(cameraViewMoved:)]) {
[self.delegate cameraViewMoved:self];
}
在CameraView
类中,定义如下协议:
@class CameraView;
@protocol CameraViewDelegate <NSObject>
@optional
- (void)cameraViewMoved:(CameraView *)view;
@end
if ([self.delegate respondsToSelector:@selector(cameraViewMoved:)]) {
[self.delegate cameraViewMoved:self];
}
通过在PageView.h文件中像这样放置sthg,使您的PageView
成为您的CameraView
的a类代理:
@interface PageView : <CameraViewDelegate>
@界面页面视图:
在PageView.m类中,首先通过执行sthg,比如cameraView.delegate=self,将自己设置为cameraView的代理代码>
然后,实现协议方法cameraViewMoved
。在这个方法中,您可以做您需要的事情。并且不要忘记添加“@class CameraView”,这样您的编译器就知道您稍后将要实现CameraView(因为您在CameraView接口上方引用它,所以编译器还不知道什么是CameraView)。
@interface PageView : <CameraViewDelegate>