我,
当识别出longTapGesture时,我尝试在scrollView中管理tableView的外观。当longTapGesture结束时,此tableView必须消失。我使用两个“if”块内的setHidden函数来表示tableView的外观和消失。它在第一个longTapView之后工作,但之后,tableView不再出现了。
我认为setHidden函数存在问题。这是我的代码:
-(void)handleLongPress:(UILongPressGestureRecognizer *)gestureRecognizer
{
if(self.tableView==nil)
{
NSLog(@"tableView initiee");
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(gestureRecognizer.view.center.x - 10, gestureRecognizer.view.center.y - 10, 100, 100)];
[self addSubview:self.tableView];
}
self.tableView.layer.cornerRadius = 20.0;
self.tableView.layer.frame = CGRectInset(tableView.layer.frame, 20, 20);
if (gestureRecognizer.state == UIGestureRecognizerStateBegan) {
[self.tableView setHidden:NO];
NSLog(@"tableView apparait");
}
if(gestureRecognizer.state == UIGestureRecognizerStateEnded)
{
[self.tableView setHidden:YES];
NSLog(@"tableView disparait");
}
}
答案 0 :(得分:0)
我想我可能已经找到了你的问题。每次调用时,self.tableView.layer.frame = CGRectInset(tableView.layer.frame, 20, 20);
都会将表视图图层的宽度和高度减少40。所以通过第二次调用,你有一个20x20的框架,角半径为20.这将是不可见的。尝试评论该行,看看它是否有效。
你想用这行代码完成什么?