gpt4 book ai didi

iOS- swift : Expand user profile picture in UITableView

转载 作者:行者123 更新时间:2023-11-30 11:37:06 25 4
gpt4 key购买 nike

我试图从 UITableViewCell 获取动画(保存有关用户的信息,带有个人资料图片),方法是从此扩展用户的个人资料图片:

enter image description here

////////////////
对此
///////////////

enter image description here 在此输入代码

它可以工作,但问题是动画不知何故从屏幕的一角开始,而不是从 UITableViewCell 中的圆形图像开始。

func handlePictureTap(conversationTableCell: ConversationTableCell) {
guard let cellIndexPath = self.conversationsTableView.indexPath(for: conversationTableCell) else { return }

transitionDelegate.openingFrame = self.frameForCellAtIndexPath(cellIndexPath)

let userProfileViewController = UserViewController(nibName: "UserViewController", bundle: nil)
userProfileViewController.recentProfileProtocol = self
userProfileViewController.transitioningDelegate = transitionDelegate
userProfileViewController.modalPresentationStyle = .overCurrentContext
userProfileViewController.userProfileName = conversationTableCell.conversationName.text!
userProfileViewController.userProfileImage = conversationTableCell.conversationPicture.image

self.present(navEditorViewController, animated: true, completion: nil)
}

以及frameForCellAtIndexPath 的函数。

func frameForCellAtIndexPath(_ indexPath: IndexPath) -> CGRect {
let cell = self.conversationsTableView.cellForRow(at: indexPath) as! ConversationTableCell

let profileImageFrame = cell.conversationPicture.frame

return profileImageFrame
}

我无法设法获得与整个屏幕相关的正确帧,以便我的动画从单元格的个人资料图片开始。

欢迎提出建议

最佳答案

您将从图像的帧开始动画,该图像相对于表格 View 单元格坐标系,该坐标系位于左上角。

要确定单元格相对于表格 View 的当前位置,您可以使用如下内容:

let rect = tableView.rectForRow(at: indexPath)

如果您需要相对于另一个 View 的矩形,您可以使用 UIViews

convert(_ rect: NSRect, from view: NSView?) -> NSRect

更新

要将其应用于您的特定情况,假设您需要屏幕坐标中的 openingRect,您可以执行以下操作:

let cellOrigin = tableView.rectForRow(at: indexPath).origin

let rectRelativeToTable = CGRect(x: imageFrame.origin.x + cellOrigin.x,
y: imageFrame.origin.y + cellOrigin.y,
width: imageFrame.size.width,
height: imageFrame.size.height)

let openingRect = tableView.convert(rectRelativeToTable, to: nil)

关于iOS- swift : Expand user profile picture in UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49628106/

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