Interface builder 视图中的动态刷新-xcode 4/interface builder
我是xcode新手,所以请耐心听我说 我有一个标签,我已将其设置为空白,在用户单击“go”后,我生成一个随机单词或数字并使用: self.label.stringValue=某个单词 以更新视图。顺便说一句,我正在使用MacRuby 然而,我想在最后一个单词出现之前,快速连续地显示20个左右的随机单词——只是因为现在太无聊了。或者,我会很高兴在它的位置显示一个动画图形-这是由最后的随机字取代 我试过这样的方法:Interface builder 视图中的动态刷新-xcode 4/interface builder,interface-builder,xcode4,macruby,Interface Builder,Xcode4,Macruby,我是xcode新手,所以请耐心听我说 我有一个标签,我已将其设置为空白,在用户单击“go”后,我生成一个随机单词或数字并使用: self.label.stringValue=某个单词 以更新视图。顺便说一句,我正在使用MacRuby 然而,我想在最后一个单词出现之前,快速连续地显示20个左右的随机单词——只是因为现在太无聊了。或者,我会很高兴在它的位置显示一个动画图形-这是由最后的随机字取代 我试过这样的方法: 100.times do num = rand(40) self.label.s
100.times do
num = rand(40)
self.label.stringValue = num
end
但它不起作用。我也试过了。重新加载数据,但也没用
关于如何实现这一点,您有什么想法吗?为了避免留下问题,请参阅Macruby邮件列表:
def drawWord(sender)
if !next_word
self.timer.invalidate
return
end
self.label.stringValue = next_word
self.setNeedsDisplay true
end
def next_word
...
end
self.timer = NSTimer.scheduledTimerWithTimeInterval( 1/20.0,
target:self, selector:"drawWord:", userInfo:nil, repeats:true)
你看不到它,因为它可能发生得太快了。为什么不设置一个时间间隔很小的计时器来调用一个方法,该方法会遍历您希望使用的名称?我尝试添加“sleep 1”只是为了检查它是否有效,但它不起作用:/例如,self.label.stringValue=yoooo!;睡眠5;self.label.stringValue=num-这就是你的意思吗?我不熟悉MacRuby,所以我无法进一步帮助你;对不起,谢谢你的努力。顺便问一下,在objective-c中你会怎么做?我可能能够移植代码[NSTimer scheduledTimerWithTimeInterval:0.05目标:自选择器:@SelectorMyIncrementMethod:userInfo:nil repeats:YES];