[英]Change view properties after adding it as subview
我正在使用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后如何更改该视图的属性?
类似问题
(除了我的评论)
我已经研究了PagedFlowView委托,并且有一种方法
- (void)flowView:(PagedFlowView *)flowView didTapPageAtIndex:(NSInteger)index;
您可以使用整数索引从被点击的流视图中获取单元格/页面。 如果您有此文件,则可以编辑其属性。
希望这可以帮助。
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];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.