Watson's Blog

UIView のオブジェクトを Interactive Shell を使って修正する

| Comments

RubyMotion Screencast を見ていて、シミュレータで UIView のオブジェクトを選択して Interactive Shell で手直しできるなんて cool ですね。

さて、Screencast でたぶん説明されていたのでしょうが、シミュレータ上に表示されている UIView のパーツをどのように選択するのかがわからなかったので試してみました。

command キーを押しながらシミュレータ上でマウスカーソルを移動していると、赤い枠線が表示されます。

UIView のパーツを選択

赤い枠線が表示されると Interactive Shell のプロンプトが、

1
(main)>> 

から

1
(#<UILabel:0x6c52210>)?>  

へと変わります。この状態では、まだ選択が確定していないらしく、マウスカーソルを移動したりすると、プロンプトが元に戻ってしまいます。

選択状態を確定するには、command キーを押しながらクリックすると良いみたいです。プロンプトが

1
(#<UILabel:0x6c52210>)>>  

と、? が消えて >> になります。選択したオブジェクトがレシーバになるので、

1
2
3
4
5
6
(#<UILabel:0x6d10f40>)>> self         
=> #<UILabel:0x6d10f40>
(#<UILabel:0x6d10f40>)>> self.frame
=> #<CGRect origin=#<CGPoint x=20.0 y=200.0> size=#<CGSize width=300.0 height=30.0>>
(#<UILabel:0x6d10f40>)>> self.backgroundColor = UIColor.lightGrayColor
=> #<UICachedDeviceWhiteColor:0x8c868b0>

などとメッセージを送信すると、Interactive Shell から配色を変更したり、位置を変更したりできます。

Comments