gpt4 book ai didi

ios - 观察者调用的函数没有动画

转载 作者:行者123 更新时间:2023-11-29 05:29:59 25 4
gpt4 key购买 nike

我有一个函数

 -(void)setCurrentDuration:(double)currentTime
{
[self.slider setValue:currentTime animated:YES];
}

在 UIPhilosophyViewCell 单元格中。

调用

for (UIPhilosophyViewCell* cell in [self.customTableView visibleCells])
{
if ([cell isKindOfClass:[UIPhilosophyViewCell class]])
{
if ([TRIM(cell.dicData[@"id"]) isEqualToString:self.currentPlayingID])
{
[cell.audioProgressViewController setCurrentDuration:[self.audioPlayer currentTime]];
}
}
}

动画 slider 值更改,但从通知观察者的选择器调用的 setCurrentDuration 则不会。对于可能出现的问题有什么建议吗?

将单元格添加到通知中心

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveTestNotification:) name:@"playingProgress" object:nil];

和选择器

- (void) receiveTestNotification:(NSNotification *) notification
{
NSDictionary* data = notification.object;
if (data == nil)
{
data = [NSDictionary dictionary];
}

if ([[notification name] isEqualToString:@"playingProgress"] && [TRIM(self.dicData[@"id"]) isEqualToString:TRIM(data[@"id"])])
{
[self setCurrentDuration:[(NSNumber*)TRIM(data[@"currentDuration"]) doubleValue]];
}
else
{
[self setCurrentDuration:0];
}
}

TRIM 是获取非零对象或字符串的函数

最佳答案

TableView 重新加载或更新可能会停止单元格的动画。

因此,尝试更改为使用 [self.slider setValue:currentTimeAnimated:NO];

如果setValue起作用,则需要考虑动画实现。

关于ios - 观察者调用的函数没有动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57694770/

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