Core Animation と RubyMotion は初めてです (1 月から Xcode で Obj-C を使用しています)。AppLabel が必要です (その png は AppAppearance.rb というファイルで指定されていますが、ロードするすべてのアニメーションはこのファイルにあります)。現在、私は animateWithDuration を使用していますが、ラベルが読み込まれるときに左に少しバウンスする必要があります。これに関する可能なヘルプは非常に高く評価されます。私は一日中ぐるぐる回っています。私はこれからコードを使用しようとしています:ビューに画像をバウンスし、 CAKeyFrameAnimation で見つけることができるものはすべて表示しますが、Obj-C を Ruby に変換することに行き詰まっています。ありがとう!
class AppLabel < UILabel
#-------------------------
DefaultHeight = 45
DefaultWidth = 170
def initWithFrame( frame )
#-------------------------
if ( super( frame ) )
@showing = false
@hiding = false
self.size.width = 170 if self.size.width == 0
self.size.height = 46 if self.size.height == 0
self.backgroundColor = AppAppearance.appLabelBackgroundColor
self.font = AppAppearance.fontWithSize( 14 )
self.textColor = AppAppearance.appLabelTextColor
self.numberOfLines = 2
end
self
end
#
# method. drawTextInRect
#
def drawTextInRect( rect )
#-------------------------
rect.origin.x += 10
rect.origin.y += 2
rect.size.width -= 30
super( rect )
end
#
# method. show
#
def show
#-------
if ( ( self.hidden? || self.alpha < 1 ) && !@showing )
if self.hidden?
self.alpha = 0.0
self.hidden = false
end
@showing = true
UIView.animateWithDuration(
1.0,
animations: lambda do
self.alpha = 1.0
end,
completion: lambda do | finished |
@showing = false
end
)
end
end
#
# method. hide
#
def hide
#-------
unless ( self.hidden? || self.alpha == 0 || @hiding )
log( 'hiding' )
@hiding = true
UIView.animateWithDuration(
1.0,
animations: lambda do
self.alpha = 0.0
end,
completion: lambda do | finished |
self.hidden = true
@hiding = false
end
)
end
end
end