繁体   English   中英

在UITableView页脚或页眉中添加UIButton

[英]Add UIButton in UITableView Footer or Header

我在UITableView Header中添加了带有按钮的视图。 我已经正确设置了高度,当未显示键盘时,该按钮实际上是可以使用的。 当按下某个文本框(单元格中的UITextField)时,将显示键盘,并且我将表格视图框架设置为较小,因此可以单击该单元格,但是问题出在按钮上-当按钮与表格视图中的某些部分相交时(当按钮未完全显示时)表示该按钮不起作用,当按钮未完全显示时该按钮也起作用。

我已经通过将按钮放在滚动视图中而不是放在页脚或表格视图标题中来进行尝试,它可以完美地工作。 这是某种UITableView标头错误吗? 可以解决吗?

在您的代码中添加以下内容:

-(BOOL)textFieldShouldEndEditing:(UITextField *)textField
{

      if(textField.tag != [[[yourTable indexPathsForVisibleRows] objectAtIndex:0]row])
          [self animateTextField: textField up: NO];
    return YES;
}

- (void)textFieldDidBeginEditing:(UITextField *)textField
{

    if(textField.tag != [[[yourTable indexPathsForVisibleRows] objectAtIndex:0]row])
    [self animateTextField: textField up: YES];
}

- (void) animateTextField: (UITextField*) textField up: (BOOL) up
{
    const int movementDistance = 300; // tweak as needed
    const float movementDuration = 0.3f; // tweak as needed

    int movement = (up ? -movementDistance : movementDistance);

    [UIView beginAnimations: @"anim" context: nil];
    [UIView setAnimationBeginsFromCurrentState: YES];
    [UIView setAnimationDuration: movementDuration];
    self.view.frame = CGRectOffset(self.view.frame, 0, movement);
    [UIView commitAnimations];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM