我的场景是主视图中会有很多子视图,点击每个子视图会产生不同的结果。
我的方法是让每个子视图实现自己的点击识别器,而不是主视图有一个单击识别器,并计算用户点击的子视图区域。这是一种正确可行的方法吗?
我尝试过这种方法,但似乎没有用。 tap方法永远不会被调用。我阅读了很多关于stackoverflow的文章,但它们似乎没有帮助。
例如,虽然子视图不是图像视图,但我仍然手动将其$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_ID() ), 'single-post-thumbnail' )**[0]**;
<?php
while ( $query->have_posts() ) : $query->the_post();
$post_meta = $Listing->get_listing_meta(get_the_ID());
$listing_options = (isset($post_meta['listing_options']) && !empty($post_meta['listing_options']) ? $post_meta['listing_options'] : "");
$gallery_images = (isset($post_meta['gallery_images']) && !empty($post_meta['gallery_images']) ? $post_meta['gallery_images'] : "");
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_ID() ), 'single-post-thumbnail' )[0];
属性设置为userInteractionEnabled
,如某些帖子所示。但这没有帮助。
以下是子视图的主要代码:
YES
任何帮助将不胜感激。
答案 0 :(得分:0)
如果您想将UIGestureRecognizer添加到子视图中,您应该这样做:
_container = [[UIView alloc] initWithFrame:CGRectMake(20, 50, 280, 300)];
[self.view addSubview:_container];
_container.backgroundColor = [UIColor redColor];
_container.opaque = YES;
_container.userInteractionEnabled = YES;
self.tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleOneTap:)];
self.tapGestureRecognizer.numberOfTouchesRequired = 1;
self.tapGestureRecognizer.numberOfTapsRequired = 1;
self.view.userInteractionEnabled = YES;
[_container addGestureRecognizer:self.tapGestureRecognizer];
答案 1 :(得分:0)
看起来这个问题不在UITapGestureRecognizer中,但是如果你从ViewController添加Subview的话。
添加subviewcontoller的正确方法是:
SSubViewController *pvc = [SSubViewController controllerWithSubViewID:0];
[self.view addSubview:pvc.view];
[self addChildViewController:pvc];
在ViewController中执行此操作并解决您的问题