gpt4 book ai didi

iphone - 动画调整 UITableView 的 UIView 标题

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:09 25 4
gpt4 key购买 nike

基本上,我想在 iPhone 的 Facebook 登录屏幕中复制行为:触摸输入字段时, Logo /标题 View 的高度会降低,以便为键盘腾出空间。

这里我有一个UITableView(带有静态内容):

My Login Scene

“控件”实际上是一个 UIView,我在 UIImageView 中包含 Logo ,“Table View Section”包含用于用户名/密码的 UITextFields。

我的问题是,如何让 UIView(“Control”)降低高度,同时让“Table View Section”中的 UITableViewCells 自然向上滑动?我尝试了以下方法:

 [UIView animateWithDuration:1.0f animations:^{
CGRect theFrame = _headerView.frame;
theFrame.size.height -= 50.f;
_headerView.frame = theFrame;
}];

其中 _headerView 是标题的 UIView。它已调整大小,但 UITableView 不会像 UITableViewCell 已调整大小一样使用react(即登录 UITableViewCells 不会向上移动)。我该如何解决这个问题?

我看过如何调整 UITableViewCell 大小的示例,但我不能将标题/ Logo 放在 UITableViewCell 中,因为 TableView 部分已分组且不应该' 看起来像登录部分。

编辑

很好的答案!下面是我最终使用 view_is_up 实例变量对其进行动画处理的方式:

-(void)moveTableView:(BOOL)up{
float move_distance = 55.f;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:.3f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
UIEdgeInsets insets = self.tableView.contentInset;
if(view_is_up&&!up){
insets.top += move_distance;
view_is_up = NO;
}
else if(!view_is_up&&up){
insets.top -= move_distance;
view_is_up = YES;
}
self.tableView.contentInset = insets;
[UIView commitAnimations];
}

它工作起来很漂亮,并且可以通过 UIView 动画进行完全配置。

最佳答案

如果您在动画 block 中添加以下代码,它应该会修复它:

UIEdgeInsets insets = self.tableView.contentInset;
insets.top -= 50.f;
self.tableView.contentInset = insets;

self.tableView 是您的 UITableView 的导出

关于iphone - 动画调整 UITableView 的 UIView 标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16474326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com