あなたの質問は rmq について言及しているので、rmq の方法は次のとおりです。
でviewDidLoad
:
@hello_world_label = rmq.append(UILabel, :hello_world).get
@button = rmq.append(UIButton, :toggleable_button)
@button.on(:touch) do |sender|
sender.selected = !sender.selected?
end
トグルは、ボタンの実際の状態を照会することによって実現されることに注意してください。後で使用するためにこれを覚えておく必要がある場合は、インスタンス変数に保存することをお勧めします。
スタイルシートで:
def toggleable_button(st)
st.frame = {t: 200, w: 100, h: 24}
st.image_normal = image.resource('toggle_me')
st.image_selected = image.resource('toggled')
end
の使用に注意してくださいimage_selected
。これは rmq には存在しませんが、非常に簡単に実現できます。これが rmq プロジェクトの場合、stylers/ ディレクトリが作成されます。そこに、ui_button_styler.rb が表示されます。強調表示された状態を一級市民にするコードは次のとおりです。
module RubyMotionQuery
module Stylers
class UIButtonStyler < UIControlStyler
def image_selected=(value)
@view.setImage(value, forState:UIControlStateSelected)
end
def image_selected
@view.imageForState UIControlStateSelected
end
end
end
end
ご覧のとおり、コントローラーのコードはクリーンなままで、ボタンの初期設定はスタイルシートに移行され、選択された状態を理解するために rmq が適切に拡張されています。