我这样的第一个视图PageView.m
PageView.m
albumListView = [[AlbumListView alloc] initWithFrame:CGRectMake(0, 0, 45, 480)];
albumListView.tag = 1001;
[self addSubview:albumListView];
albumListView.hidden = YES;
[albumView release];
我想在我的CameraView移动时设置albumListView.hidden = NO。
怎么做!
CameraView.m
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
}
如何使用委托或其他方式?
谢谢!
最佳答案
假设PageView
类是创建CameraView
实例的位置,则可以执行以下操作:
在您的CameraView
类中,定义如下协议:
@class CameraView;
@protocol CameraViewDelegate <NSObject>
@optional
- (void)cameraViewMoved:(CameraView *)view;
@end
然后,在同一个类中实现一个属性来保存您的委托:
@property (nonatomic, assign) id<CameraViewDelegate> delegate;
在要通知它的情况下,在CameraView实现文件中,调用委托的cameraViewMoved方法,如下所示:
if ([self.delegate respondsToSelector:@selector(cameraViewMoved:)]) {
[self.delegate cameraViewMoved:self];
}
通过将这样的sthg放在PageView.h文件中,使
PageView
类成为CameraView
的委托:@interface PageView : <CameraViewDelegate>
在PageView.m类中,首先通过像
cameraView.delegate = self;
这样的设置将自己设置为cameraView的委托。然后,实现协议方法
cameraViewMoved
。在此方法内部,您可以执行所需的操作。关于iphone - 如何在一个ViewClass中通知另一个View类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8473642/