标签文本更新期间 UIImageView 位置重置

2024-01-11

这里发生的问题真的很奇怪。

在 iOS 8 中使用 XCode

我有一个简单的 UIImageView,当我单击时它会在屏幕上移动。没问题——效果很好。

我只有一个简单的方法来更新特定标签...基于一个名为 StrikesLeft 的 int。

这是我的 updateLabels 方法:

-(void)displayLabels{
//update strikes label
strikesLeftDisplay = [NSString stringWithFormat: @"%d", strikesLeft];
lblStrikes.text=strikesLeftDisplay;
} 

但这是一个奇怪的问题:

如果我实际上没有更新标签,它运行没有问题...但是一旦 viewController 上的标签更新, UIImageView 就会由于某种原因重置回起始位置。

UIImageView 改变位置是在 NSTimer 中,如下所示:

runningMovement=[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(startRunning) userInfo:nil repeats:YES];

*编辑-这是我的startRunning方法:

- (void)startRunning{
if(livesLeft==0){[self endGame];}

manX=man.frame.origin.x;
manY=man.frame.origin.y;

if([direction isEqualToString:@"left"] && touchX < (manX+20)){
    man.center=CGPointMake(man.center.x - runningSpeed,man.center.y);
}else if([direction isEqualToString:@"right"] && touchX > (manX+22)){
    man.center=CGPointMake(man.center.x + runningSpeed,man.center.y);
}
else{
    direction=@"0";
}




//animate runner
if ([direction isEqualToString:@"right"]){
    if(runnerImageNumber==1){UIImage *image=[UIImage imageNamed:@"run1.png"];[man setImage:image];}
    if(runnerImageNumber==2){UIImage *image=[UIImage imageNamed:@"run2.png"];[man setImage:image];}
    if(runnerImageNumber==3){UIImage *image=[UIImage imageNamed:@"run3.png"];[man setImage:image];}
    if(runnerImageNumber==4){UIImage *image=[UIImage imageNamed:@"run4.png"];[man setImage:image];}
    if(runnerImageNumber==5){UIImage *image=[UIImage imageNamed:@"run5.png"];[man setImage:image];}
    if(runnerImageNumber==6){UIImage *image=[UIImage imageNamed:@"run6.png"];[man setImage:image];}
    if(runnerImageNumber==7){UIImage *image=[UIImage imageNamed:@"run7.png"];[man setImage:image];}
    if(runnerImageNumber==8){UIImage *image=[UIImage imageNamed:@"run8.png"];[man setImage:image];}
    if(runnerImageNumber==9){UIImage *image=[UIImage imageNamed:@"run9.png"];[man setImage:image];}
    runnerImageNumber++;
    if(runnerImageNumber==9){runnerImageNumber=1;}
}
if ([direction isEqualToString:@"left"]){
    if(runnerImageNumber==1){UIImage *image=[UIImage imageNamed:@"run10.png"];[man setImage:image];}
    if(runnerImageNumber==2){UIImage *image=[UIImage imageNamed:@"run11.png"];[man setImage:image];}
    if(runnerImageNumber==3){UIImage *image=[UIImage imageNamed:@"run12.png"];[man setImage:image];}
    if(runnerImageNumber==4){UIImage *image=[UIImage imageNamed:@"run13.png"];[man setImage:image];}
    if(runnerImageNumber==5){UIImage *image=[UIImage imageNamed:@"run14.png"];[man setImage:image];}
    if(runnerImageNumber==6){UIImage *image=[UIImage imageNamed:@"run15.png"];[man setImage:image];}
    if(runnerImageNumber==7){UIImage *image=[UIImage imageNamed:@"run16.png"];[man setImage:image];}
    if(runnerImageNumber==8){UIImage *image=[UIImage imageNamed:@"run17.png"];[man setImage:image];}
    if(runnerImageNumber==9){UIImage *image=[UIImage imageNamed:@"run18.png"];[man setImage:image];}
    runnerImageNumber++;
    if(runnerImageNumber==9){runnerImageNumber=1;}
}

}

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标签文本更新期间 UIImageView 位置重置 的相关文章

随机推荐

  • 使用 iframe 停止 Comet 的浏览器抖动

    当我通过 iframe 推送使用 comet 时 当数据通过 iframe 推送时 浏览器颤动器将永远保持旋转 Lightstreamer 也在使用 iframe 但是他们如何设法让它停止呢 我发现了一个类似的帖子here https st
  • 为什么 Google Analytics(分析)显示的访问次数少于 One&One 统计数据?

    将谷歌分析结果与 one one 托管的每月统计数据进行比较显示出巨大的差异 上个月 Google 显示 1046 次访问 One one 统计数据显示 15304 次独立访问 谷歌代码位于每个页面上出现的页脚中 我知道 ga 只适用于启用
  • event.preventDefault() 或 return false 在 IE9 中不起作用

    我试图让以下代码在所有版本的 IE 中工作 就像它在其他浏览器中工作一样 a href class specificClass Click Me a Javascript specificClass click function e e p
  • Visual Studio 64 位?

    有 64 位 Visual Studio 吗 为什么不 由于多种原因 No 为何在此解释MSDN 帖子 https web archive org web 20160309232651 http blogs msdn com b ricom
  • 覆盖 WPF 中的静态资源

    我想覆盖StaticResource这是在我自己的资源字典中的不同程序集的资源字典中配置的 我尝试使用相同的密钥配置新资源 但没有成功 实际加载的资源来自所提到的程序集的资源字典 出于演示目的 我将资源称为 MyResource MyRes
  • FactoryFinder 性能/缓存不良

    我有一个相当大的 java ee 应用程序 它有一个巨大的类路径 可以进行大量的 xml 处理 目前 我正在尝试加快一些功能的速度 并通过采样分析器找到缓慢的代码路径 我注意到的一件事是 特别是我们的代码中 我们有像这样的调用的部分Tran
  • 使用管道而不提供第一个参数

    Is the gt 管道运算符总是将左侧 LHS 提供给右侧 RHS 的第一个参数 即使在 RHS 调用中再次指定第一个参数 假设我想指定要使用的变量cor library magrittr iris gt cor x Sepal Leng
  • Tensorflow Dataset API:带有 parquet 文件的输入管道

    我正在尝试使用 Dataset API 设计输入管道 我正在处理镶木地板文件 将它们添加到我的管道中的好方法是什么 我们已经发布了万能风暴 https github com uber petastorm 一个开源库 允许您通过 Tensor
  • 提示使用自定义目录查找 .cmake 文件

    在 CMake 中 有没有办法制作内置的 Find 脚本来优先考虑我们指定的自定义目录 因为特别是在 Windows 中 模块查找脚本通常无法检测到模块 例如 Visual Studio 目录 因此我通常必须手动设置外部库的路径 这非常累人
  • 颤振回调函数

    我有一个数量需要在父小部件中更新 按子小部件中的 或 图标时需要更新数量 我将回调函数传递给了子无状态小部件 但它不起作用 相反 我收到一条错误消息 指出在构建期间调用了 setstate 或 markneedsbuild 这是父小部件 c
  • 如何在第一列中应用文本左对齐,在其他列中应用文本右对齐

    我有一张桌子要设计 我该如何申请text align left 仅适用于第一列和text align right 对于其他列 这是我的表示例 http jsfiddle net gianlucaguarini hAv7P http jsfi
  • 在 Javascript 中克隆文件输入元素

    我有一个文件输入元素 需要在用户浏览并选择要上传的文件后进行克隆 我开始使用 obj cloneNode 一切正常 直到我尝试在 IE 中使用它 此后我尝试使用 jQuery 的克隆方法 如下所示 var tmp jQuery catego
  • Multipart._final 中的表单意外结束

    我有多个输入 当所有图像输入字段都填满时 上传工作正常 但如果其中任何一个为空 它会在我的服务器端引发错误 Unexpected end of form at mutipart 这是客户端 const handelSubmit e gt e
  • 如何使用 Unity 依赖注入 Web API 实现策略/外观模式

    如何告诉Unity WebApi依赖注入框架 在正确的控制器中注入正确的类 DI 项目容器 public class UnityContainerConfig private static IUnityContainer unityCont
  • PowerShell 3.0 中 [ordered] 的正确名称是什么?

    在 PowerShell 中 您可以使用方括号指定类型 如下所示 PS C Users zippy gt int IsPublic IsSerial Name BaseType True True Int32 System ValueTyp
  • 如何发送ctrl+z

    How do I convert ctrl z to a string 我将此作为 AT 命令发送到该计算机的连接设备 Basically I just to put some chars in a string and ctrl z in
  • GridView 丢失了对非索引位置中的项目的跟踪,并且许多项目不再显示

    我正在使用 UWP 应用程序FileInformationFactory检索文件对象的虚拟化向量 该向量被转换为FileInformation并显示在GridView 我想查询插入笔记本电脑的 SD 卡上的文件夹并比较该文件夹的虚拟化情况G
  • 恢复到特定提交而不丢失历史记录

    我知道这类问题有很多重复项 但我想打开一个新问题 因为我没有在所有其他问题中找到按照我想要的方式执行此操作的最佳方法的解释 我知道我可以通过执行以下操作来恢复并保留历史记录 git reset soft c14809fa 我想恢复devel
  • Angular2:如何在一段时间后淡出显示在Click上的box-msg

    可能是一个愚蠢的问题 但我是新手angular并且仍在学习 单击按钮时显示一条成功消息 我需要在几秒钟后淡出该消息 div class alert alert success box msg strong Link Generated st
  • 标签文本更新期间 UIImageView 位置重置

    这里发生的问题真的很奇怪 在 iOS 8 中使用 XCode 我有一个简单的 UIImageView 当我单击时它会在屏幕上移动 没问题 效果很好 我只有一个简单的方法来更新特定标签 基于一个名为 StrikesLeft 的 int 这是我