解决回收键盘与cell点击事件冲突问题(思路添加手势代理)
2016-10-19 15:40
573 查看
-(void)drawCollection{
//CollectionView
self.flowLayout = [[UICollectionViewFlowLayout
alloc]init];
self.flowLayout.itemSize =
CGSizeMake((SCREEN_SIZE_WIDTH-5)/2, (SCREEN_SIZE_WIDTH-5)/2*(5/4));
self.flowLayout.minimumLineSpacing =
5;
self.flowLayout.minimumInteritemSpacing =
5;
self.myCollectionView = [[UICollectionView
alloc]initWithFrame:CGRectMake(0,
0, SCREEN_SIZE_WIDTH,
SCREEN_SIZE_WIDTH) collectionViewLayout:self.flowLayout];
self.myCollectionView.delegate =
self;
self.myCollectionView.dataSource =
self;
self.myCollectionView.backgroundColor =
NORMAL_BKG_GREY;
[self.view
addSubview:self.myCollectionView];
[self.myCollectionView
mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.sortBtnBkg.mas_bottom);
make.left.mas_equalTo(0);
make.right.mas_equalTo(0);
make.bottom.mas_equalTo(0);
}];
[self.myCollectionView
registerClass:[ShopSearchResultCell
class] forCellWithReuseIdentifier:@"ShopSearchResultCell"];
//下拉
self.myCollectionView.mj_header = [MJRefreshNormalHeader
headerWithRefreshingTarget:self
refreshingAction:@selector(makeTheTabDown:)];
//上拉加载
self.myCollectionView.mj_footer = [MJRefreshAutoFooter
footerWithRefreshingTarget:self
refreshingAction:@selector(makeTheTabUp:)];
[self
getDataFromSever];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer
alloc] initWithTarget:self
action:@selector(fingerTapped:)];
tapGesture.delegate =
self;
[self.view
addGestureRecognizer:tapGesture];
}
//解决cell点击事件与回收键盘冲突问题
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch
*)touch {
if (touch.view !=
self.myCollectionView) {
return
NO;
}
return
YES;
}
-(void)fingerTapped:(UIGestureRecognizer *)tap{
NSLog(@"点击了");
[self.searchTF
resignFirstResponder];
[self.myCollectionView
endEditing:YES];
}
//CollectionView
self.flowLayout = [[UICollectionViewFlowLayout
alloc]init];
self.flowLayout.itemSize =
CGSizeMake((SCREEN_SIZE_WIDTH-5)/2, (SCREEN_SIZE_WIDTH-5)/2*(5/4));
self.flowLayout.minimumLineSpacing =
5;
self.flowLayout.minimumInteritemSpacing =
5;
self.myCollectionView = [[UICollectionView
alloc]initWithFrame:CGRectMake(0,
0, SCREEN_SIZE_WIDTH,
SCREEN_SIZE_WIDTH) collectionViewLayout:self.flowLayout];
self.myCollectionView.delegate =
self;
self.myCollectionView.dataSource =
self;
self.myCollectionView.backgroundColor =
NORMAL_BKG_GREY;
[self.view
addSubview:self.myCollectionView];
[self.myCollectionView
mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.sortBtnBkg.mas_bottom);
make.left.mas_equalTo(0);
make.right.mas_equalTo(0);
make.bottom.mas_equalTo(0);
}];
[self.myCollectionView
registerClass:[ShopSearchResultCell
class] forCellWithReuseIdentifier:@"ShopSearchResultCell"];
//下拉
self.myCollectionView.mj_header = [MJRefreshNormalHeader
headerWithRefreshingTarget:self
refreshingAction:@selector(makeTheTabDown:)];
//上拉加载
self.myCollectionView.mj_footer = [MJRefreshAutoFooter
footerWithRefreshingTarget:self
refreshingAction:@selector(makeTheTabUp:)];
[self
getDataFromSever];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer
alloc] initWithTarget:self
action:@selector(fingerTapped:)];
tapGesture.delegate =
self;
[self.view
addGestureRecognizer:tapGesture];
}
//解决cell点击事件与回收键盘冲突问题
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch
*)touch {
if (touch.view !=
self.myCollectionView) {
return
NO;
}
return
YES;
}
-(void)fingerTapped:(UIGestureRecognizer *)tap{
NSLog(@"点击了");
[self.searchTF
resignFirstResponder];
[self.myCollectionView
endEditing:YES];
}
相关文章推荐
- 解决点击UITableViewCell时和自定义添加的手势冲突的问题
- 解决 UITableViewCell的点击事件和手势的冲突问题
- TableView cell的选中事件 与手势点击事件 冲突解决办法
- view添加手势与tableView的cell点击冲突问题
- 做项目过程中遇到的问题及解决----UIGesture手势与UI控件点击的事件冲突解决
- Unity上路(一):Srollview的Cell点击与滑动事件冲突的问题解决
- 开发笔记:解决安卓GestureOverlayView手势和ListView点击事件、文本框获取焦点冲突的问题
- 手势的代理方法(解决了 手势和点击cell 的冲突)
- 解决 cell的点击事件和触摸手势的冲突
- 解决自定义可左右滑动cell时和tableview的滑动手势冲突问题
- Android:解决ExpandableListView中添加button后item项点击事件问题
- Android ListView的Item点击事件和Item里控件点击事件冲突问题解决
- iOS WKWebView ios9以上版本配置 与 设置UserAgent(用户代理), 解决点击web, 客户端接收不到web事件问题
- iOS解决UIcollectionView添加手势后不响应其cell的问题
- 解决触控点击事件和手势的冲突
- 解决触控点击事件和手势的冲突
- 完美解决listView 文字超链接点击事件和listitem点击事件冲突问题
- iOS开发解决UITableViewCell和添加侧滑手势冲突的问题
- 在ListView中的Text添加spannableString 点击事件与ListView的OnItemClick事件冲突的解决办法
- SlidingMenu+ViewPage+ListView嵌套(类似网易 ) ListView点击事件失效冲突问题解决