iOS - 在多个视图中使用相同的手势

时间:2014-05-04 15:13:23

标签: ios objective-c storyboard uigesturerecognizer cs193p

我是iOS的新手。

我创建了一个纸牌游戏并将卡设置在UIView级别。

这是我的故事书视图。
enter image description here

我想在每张卡片中使用swipe手势。

我希望当我刷一张卡片时,卡片会翻转并显示套装和等级。

除了将滑动库拖放到每张卡片的方式之外,我可以设置手势吗?

此外,另一个问题是如何知道用户正在刷卡的卡。

我在一个数组中声明了UIView。

@property (strong, nonatomic) IBOutletCollection(PlayingCardView) NSArray *playingCardView;

有人可以帮助我吗?

真的,谢谢你。

1 个答案:

答案 0 :(得分:0)

根据屏幕截图,您要做的就是不要在UIView课程中设置卡片,而是放入UICollectionView课程。

基本上,您必须设置DelegateDataSource协议方法。

以下是您应该如何执行此视图的快速示例:

  1. 创建UICollectionView
  2. 实施Delegate和DataSource协议方法。
  3. 创建UICollectionViewCell的子类,并将其用于UICollectionView的每个单元格。在您的情况下,单元格代表卡片。
  4. 通过实现此委托方法:

    - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
    

    您将处理轻击手势。

    要处理卡上的不同事件,您可以在每张卡上添加手势,方法是将其添加到您之前创建的UICollectionViewCell的子类中。

    有很多关于如何实现UICollectionView来帮助你上网的好文章。

    此外,不使用UICollectionView显示内容网格对您的代码和应用程​​序的性能有害:

    • UICollectionView提供了有用的委托方法,允许减少创建网格所需的代码。
    • UICollectionView比显示十几个子视图更优化,以便在UIView中制作网格。

    我希望我的回答可以帮到你。