我正在尝试构建我的第一个iphone应用程序,请帮我解决这个问题!!我将我的scrollview作为我的控制器视图的子视图,并且一些控件(如标签,按钮,文本字段和tableview)已作为子视图放置到此滚动视图中。现在,当我点击按钮时,我的表格视图变得可见,但是当我在桌面视图之外点击时我不能忽略这个桌面视图(我的意思是在滚动视图上点击)。
下面是我的代码片段'我试图解雇我的tableview, 请帮助我!
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *aTouch = [touches anyObject];
if (aTouch.tapCount == 1)
{
CGPoint p = [aTouch locationInView:self.scrollview];
if (!CGRectContainsPoint(myTableView.frame, p))
{
myTableView.hidden = YES;
}
}
}
答案 0 :(得分:0)
你把这个代码放在ViewController.m中,这样当你点击self.view时它就会激活。你的scrollView覆盖你的self.view以便动作不活动。
将您的scrollView子类化并在您的IB中选择类型,在YourScrollView.m中,添加以下代码:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *aTouch = [touches anyObject];
if (aTouch.tapCount == 1)
{
CGPoint p = [aTouch locationInView:self];
for (UIView *aView in self.subviews) {
if (([aView isKindOfClass:[UITableView class]])&&(!CGRectContainsPoint(aView.frame, p)))
{
[aView setHidden:YES];
}
}
}
}