gpt4 book ai didi

ios - 滑动显示 "extras"时的 UITableView subview

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:06:56 24 4
gpt4 key购买 nike

我正在尝试为我正在创建的应用程序实现一个“额外”菜单。本质上,我有一个包含多种类型单元格的 UITableView,当用户在单元格上向左滑动时,我希望能够动态地向他们显示他们可以执行的“额外操作”。例如,他们可以在帖子上滑动,然后看到分享等选项,例如...等。如果您在 ios 上使用过 Alien Blue 应用程序,那么这就是我想要做的......

到目前为止,我的滑动识别器可以正常工作,它可以正确识别单元格的类型……我只是不知道如何开始 subview 编程……

我是只是让每个单元格变大并隐藏额外的部分直到滑动,还是我在移动时动态地向每个单元格添加 View ...

感谢任何建议或帮助

如果需要我可以提供代码......

一个

最佳答案

我认为你是对的,至少我在手机上是这样做的。

唯一的区别是我没有让单元格宽度大于窗口宽度。我在常规 cell.contentview 下添加了一个带有额外内容的 View ,在我的例子中它是一个删除按钮。然后当单元格检测到从右向左滑动时,它将调用一个函数来处理手势。

因为我希望用户在将单元格向左拖动时看到删除按钮,并在他们将单元格平移到足够远时完全显示该按钮

这是我如何处理平移手势的片段,

CGPoint _originalTouchPoint;

- (void)handlePan:(UIPanGestureRecognizer *)recognizer
{
switch (recognizer.state) {
case UIGestureRecognizerStateBegan:
//save the original touch point when pan starts
_originalTouchPoint = [recognizer locationInView:_tableView];
break;

case UIGestureRecognizerStateChanged:
[self handlePan:recognizer];
break;

case UIGestureRecognizerStateEnded:
[self panEnded:recognizer];
break;
default:
break;
}
}

- (void)handlePan:(UIPanGestureRecognizer *)recognizer
{
MyCell *ourCell = (MyCell *)recognizer.view;

CGPoint touchPoint = [recognizer locationInView:_tableView];
float movedDistance = (_originalTouchPoint.x - touchPoint.x);

if(movedDistance < 0)
movedDistance = 0;

float maxX = ourCell.deleteButton.frame.size.width;

float ourTranslation = MAX(-1 * ourCell.deleteButton.frame.size.width, -1 * movedDistance);
ourCell.contentView.transform = CGAffineTransformMakeTranslation(ourTranslation, 0.0f);

// i only show the button when user pan all the way though
_shouldDeleteButtonShow = movedDistance / maxX >= 1.0;
}

- (void)panEnded:(UIPanGestureRecognizer *)recognizer
{
MyCell *ourCell = (MyCell *)recognizer.view;

if (_shouldDeleteButtonShow)
{
//do whatever you want in this case
}
else
{
//move the cell back to normal
[UIView animateWithDuration:0.3
animations:^
{
ourCell.contentView.transform = CGAffineTransformIdentity;
}];
}

}

这些是我的代码,可能无法完全按照您想要的方式工作,但希望这能让您大致了解如何执行此操作

关于ios - 滑动显示 "extras"时的 UITableView subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21343568/

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