【问题标题】:Open a view on image Click in cover flow打开图像视图 点击封面流程
【发布时间】:2011-05-27 07:53:57
【问题描述】:

我在我的项目中使用封面流库。我的封面流包含许多图像。我想要做的是当我单击该图像时,另一个视图控制器应该打开。 请告诉我如何在该图像单击上打开另一个视图。 任何帮助将不胜感激。

【问题讨论】:

标签: iphone objective-c uiimageview coverflow


【解决方案1】:

我昨天也遇到了同样的问题。我不得不改变框架中的一些东西。 在接口中添加这两个方法

@interface AFOpenFlowView : UIView
- (AFItemView *)selectedCoverView;
- (UIScrollView *)scrollView;

在.m文件中添加这两个方法的实现

@implementation AFOpenFlowView

- (AFItemView *)selectedCoverView {
return selectedCoverView;
}

- (UIScrollView *)scrollView {
return scrollView;
}

在您使用 AFOpenFlowView 的视图控制器中设置 UITapGestureRecognizer

- (void)viewDidLoad {
[super viewDidLoad];

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(screenTapped:)];
[[self view] addGestureRecognizer:tapRecognizer];
[tapRecognizer release];
}

最后实现处理屏幕点击的方法

- (void)screenTapped:(UITapGestureRecognizer *)tap {

CGPoint point = [tap locationInView:[af scrollView]];

if (CGRectContainsPoint([[af selectedCoverView] frame], point)) {
            // Write here the code to open your view
            // Use [af selectedCoverView].number to get the index of the selected cover
    NSLog(@"selected cover view: %d", [af selectedCoverView].number);
}

}

希望它能为您节省一些时间! ;)

【讨论】:

  • 它可以工作,但是现在有一个问题,只有当任何一个按钮被按下时,这个方法才会被调用怎么办?
  • 请你解释一下 - (void)screenTapped:(UITapGestureRecognizer *)tap { 方法代码
  • 该方法所做的只是获取 AFOpenFlowView 内滚动视图内的点击位置,然后检查所选封面视图的框架是否包含点击。如果是这样,那么您可以在 if 块内执行任何您想要的操作。
  • @singingAtom:我尝试实现您的上述代码,但在 af.wat 出现错误,如果要避免错误,我应该怎么做..
【解决方案2】:

请尝试其他FlowCover 这个很好用...

谢谢

【讨论】:

    猜你喜欢
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多