-1

我有一个UIScrollView包含很多UITextFieldUILabel当用户开始编辑其中一个UITextField节目时,一个UITableView.

我的问题是,当用户单击时UIScrollView必须UITableView隐藏它,tableview而当用户单击时必须在单元格中tableview显示内容。tableviewtextfield

记住,tableview是一个子视图scrollview

我是这个编程的新手,请帮我解决这个问题。

4

3 回答 3

1
- (void)viewDidLoad
{
    [super viewDidLoad];

  UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideSubView)];

// prevents the scroll view from swallowing up the touch event of child buttons
  tapGesture.cancelsTouchesInView = NO;    

  [ScrollView addGestureRecognizer:tapGesture];

  [tapGesture release];

}

// method to hide SubView when user taps on a scrollview
-(void)hideSubView
{
    if (self.SubView.isHidden == NO)
        self.SubView.hidden = YES;
}
于 2013-02-21T08:15:04.420 回答
1

这不是一个好的用户界面。

你应该把你的信封UITableViewPopOver. 这里给出了一步一步的过程:如何在 iPad 编程中使用 UIPopoverController?

编辑:只需使用此方法即可显示popOver

- (void) showPickerPopOverAction
{
    UIViewController *pickerPopOver = [[UIViewController alloc] init];
    pickerPopOver.view = yourTableView;
    pickerPopOver.contentSizeForViewInPopover = CGSizeMake(300, 210);
    UIPopoverController *pickerPopOverController = [[UIPopoverController alloc]initWithContentViewController:pickerPopOver];
    [pickerPopOverController presentPopoverFromRect:yourTextField.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}

它会自动解决您的问题。

于 2013-02-21T07:58:48.307 回答
0

Pop over 仅适用于 iPad 而不是 iPhone 或 iPod

于 2013-02-21T08:41:53.800 回答