不知从何而来的不需要的动画
Posted
技术标签:
【中文标题】不知从何而来的不需要的动画【英文标题】:Unwanted animations coming from nowhere 【发布时间】:2013-02-28 17:00:46 【问题描述】:在我的 ios 应用程序中,我有一些动画似乎不知从何而来。它们一开始不会发生,只有在稍微使用该应用程序后才会发生。这是一个描述更好的 Youtube 视频:
http://www.youtube.com/watch?v=whfG67EP6kk
我不太确定为什么元素会以它们(或根本)的方式进行动画处理。我调用的代码只是一个简单的 [view addSubView:viewname]。关于这种情况如何发生以及如何防止它的任何帮助都会很棒。
编辑 以下是似乎从四面八方飞来的文本的代码:
-(void)displayPublicDataForEntry:(PFObject *)entry likes:(unsigned long)likesCount comments:(unsigned long)commentsCount
[indicator stopAnimating];
[indicator removeFromSuperview];
[zippingLabel removeFromSuperview];
entryStatus.text = @"This entry is public";
entryStatus.backgroundColor = [UIColor clearColor];
entryStatus.frame = CGRectMake(10, 3, 200, 20);
[shareView addSubview:entryStatus];
// Display a UILabel of number of likes
if (likesCount == 1)
numberOfLikes.text = [NSString stringWithFormat:@"%lu like", likesCount];
else
numberOfLikes.text = [NSString stringWithFormat:@"%lu likes", likesCount];
CGSize stringsize = [numberOfLikes.text sizeWithFont:[UIFont systemFontOfSize:14]];
numberOfLikes.frame = CGRectMake(10, 22, stringsize.width, 20);
numberOfLikes.backgroundColor = [UIColor clearColor];
[shareView addSubview:numberOfLikes];
// Display a UILabel of number of comments
if (commentsCount == 1)
numberOfComments.text = [NSString stringWithFormat:@" / %lu comment", commentsCount];
else
numberOfComments.text = [NSString stringWithFormat:@" / %lu comments", commentsCount];
numberOfComments.frame = CGRectMake(numberOfLikes.frame.size.width + 10, 22, 100, 20);
numberOfComments.backgroundColor = [UIColor clearColor];
[shareView addSubview:numberOfComments];
viewEntry.frame = CGRectMake(self.view.frame.size.width - 95, 12, 100, 40);
[viewEntry addTarget:self
action:@selector(viewPublicEntry)
forControlEvents:UIControlEventTouchUpInside];
[shareView addSubview:viewEntry];
那里没有任何东西(至少我认为没有)会导致这些奇怪的动画。
【问题讨论】:
没有您怀疑可能导致此问题的代码? 嗯,就是这样……我只是在调用 addSubview。我当然没有明确地为任何东西设置动画。我将为视图添加代码,其中包含从各个方向飞来的文本。 目前,我已经通过包装在 [UIView setAnimationsEnabled:NO]; 之间添加视图的函数来解决问题。和 [UIView setAnimationsEnabled:YES];。奇怪,但它的工作。如果有人提出根本原因和解决方案,我会留下这个问题。 我在 Facebook 等其他应用中看到过这些动画。它必须是 iOS 内置的东西。 【参考方案1】:我遇到了这个问题。原因最终是调用开始动画而没有调用提交。我以某种方式调用了 [UIView beginAnimations:Nil context:nil] 两次。
【讨论】:
以上是关于不知从何而来的不需要的动画的主要内容,如果未能解决你的问题,请参考以下文章