我正在使用pagedFlowView创建应用。我有自定义视图( mainDetailV ),ImageView作为背景和标签在顶部。我正在使用PagedFlowView委托方法来初始化其中的所有视图:
- (UIView *)flowView:(PagedFlowView *)flowView cellForPageAtIndex:(NSInteger)index{
mainDetailV = (MainDetailView *)[flowView dequeueReusableCell];
if (!mainDetailV) {
mainDetailV = [[[NSBundle mainBundle] loadNibNamed:@"MainDetailView" owner:self options:nil] lastObject];
//mainDetailV.layer.cornerRadius = 6;
mainDetailV.layer.masksToBounds = YES;
}
return mainDetailV;
}
它在pageFlowView中添加了我的视图5次。
我想在点击imageView时触发一些操作,比如更改标签的alpha,但我真的不知道该怎么做。
我的主要问题是如何在将此视图添加到pagedViewController后更改此视图的属性?
类似的问题
答案 0 :(得分:0)
(除了我的评论)
我已经查看了PagedFlowView委托,并且有一个方法
- (void)flowView:(PagedFlowView *)flowView didTapPageAtIndex:(NSInteger)index;
您可以使用整数索引从被点击的流视图中获取单元格/页面。如果你有这个,你可以编辑它的属性。
希望这有帮助。
答案 1 :(得分:0)
mainDetailV的定义是什么?将此设置为Ivar
似乎很奇怪您应该将mainDetailV创建为本地var,并在返回其值之前将其内容存储在可变数组中。所以:
- (UIView *)flowView:(PagedFlowView *)flowView cellForPageAtIndex:(NSInteger)index{
id mainDetailV = [flowView dequeueReusableCell];
if (!mainDetailV) {
mainDetailV = [[[NSBundle mainBundle] loadNibNamed:@"MainDetailView" owner:self options:nil] lastObject];
//mainDetailV.layer.cornerRadius = 6;
mainDetailV.layer.masksToBounds = YES;
}
[usedViewControllers insertObject:mainDetailV atIndex:index];
return mainDetailV;
}
其中usedViewControllers
是NSMutableArray实例变量。
然后您可以像这样使用委托方法:
- (void)flowView:(PagedFlowView *)flowView didTapPageAtIndex:(NSInteger)index;
{
MainDetailView *view = (MainDetailView *)[usedViewControllers objectAtIndex:index];
}