gpt4 book ai didi

ios - UIActivityIndi​​catorView 在 TableView 单元内

转载 作者:行者123 更新时间:2023-12-01 20:20:19 25 4
gpt4 key购买 nike

我正在尝试将 Spinner 添加到我在 tableViewCell 中定位的 Like 按钮。但问题是微调器显示在 tableViewCell 之外。

这就是我在 cellForRowAtIndexPath 中实现代码的方式

myspinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

[myspinner setCenter:cell.like.center];
[cell.like addSubview:myspinner];

当我点击使用 sender.tag
[myspinner startAnimating];

问题是微调器工作但不是我想要的。它显示在细胞外。

更新

matt的回答确实有效。
我也改变了我的代码,如下所示。内部选择器 Action 。 -(void) likeClicked:(UIButton*)sender
UIActivityIndicatorView *myspinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[myspinner setCenter: CGPointMake(CGRectGetMidX(sender.bounds),
CGRectGetMidY(sender.bounds))];
[sender addSubview:myspinner];
[myspinner startAnimating];

最佳答案

这种形式的代码:

[myspinner setCenter:cell.like.center];

……永远不对。原因是 myspinner.center位于其父 View 的坐标中——即在 cell.like 中坐标。但是 cell.like.center在其 super View 的坐标中。因此,您将苹果与橙子进行比较:您根据位于完全不同坐标系中的另一个点来设置一个点。那只能是偶然的。

你要做的是设置 myspinner.center到其 super View 边界的中心。这些值位于同一坐标系中(此处为 cell.like 的坐标系)。
[myspinner setCenter: CGPointMake(CGRectGetMidX(cell.like.bounds),
CGRectGetMidY(cell.like.bounds))];

关于ios - UIActivityIndi​​catorView 在 TableView 单元内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35835754/

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