今までVBはやったことありますが、XCODEとイメージが異なり
だいぶはまっています。
やりたいことは、オブジェクトの高さを変えたいだけで
VBのような高さのプロパティ(hight)があるようですが
(sizeタブのsize&positionのHですよね?)
コードの記載の仕方がわからず困っています。
質問もわかりにくいと思いますが、ご教授お願い致します
また、メソッドやプロパティ(VB的な表現で適切かわかりませんが)
がわかるようなわかりやすいリファレンスの本やサイトも
ありましたら教えてください。
コメント欄が未開放だったので、大した内容ではありませんが回答欄で再度失礼致します。
イベント時にサイズの変更をするのであれば、前記どおりUIオブジェクトが設置されている、UIViewのframeプロパティを変更すればOKです。
x座標、y座標、幅、高さを個別に変更したいのであれば、
myView.frame.origin.x = [x座標];
myView.frame.origin.y = [y座標];
myView.frame.size.width = [幅];
myView.frame.size.height = [高さ];
もし一括で座標とサイズを変更するのであれば、
CGRect newFrame = CGRectMake([x座標], [y座標], [幅], [高さ]);
myView.frame = newFrame;
*myViewは、サイズを変更したいUIオブジェクトを含むUIViewです。
例えば、ボタンがクリックされたら画像の入ったmyViewのサイズを倍にするというコードなら、
- (IBAction) buttonClick: (id) sender {
CGRect newFrame = CGRectMake(
myView.frame.origin.x,
myView.frame.origin.y,
myView.frame.size.width*2,
myView.frameoldFrame.size.height*2);
myView.frame = newFrame;
}
といった感じです。
* myViewには予め何らかのUIImageオブジェクトが含まれていると仮定する。
* myViewはパブリックプロパティとして定義されていると仮定する。
* buttonClickはパブリックメソッドであり、IB上にあるボタンのクリックイベントにリンク済みであると仮定する。
こういったUIViewの変更に関するサンプルであれば、IBを使っていないものがほとんどですが、
iPhone開発者エリアにある公式サンプルにもいくつかあったような・・・。
例えば思い出せるものだと、3つの違う色の正方形を指で動かして、重ねたり離したりするやつ。
http://developer.apple.com/iphone/library/samplecode/Touches/Int...
Classes/MyView.m
// Handles the start of a touch
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
...
if (firstPieceView.center.x == secondPieceView.center.x)
secondPieceView.center = CGPointMake(firstPieceView.center.x - 50, firstPieceView.center.y - 50);
...
}
このサンプルの上記タッチイベントで変更されているのはcentreプロパティ(中心の座標)ですが、
代わりにここでframeプロパティを変更すれば左上の座標とサイズが変更できるわけです。
ただ、僕が説明しているのはUI系のオブジェクトを使った場合になります。
もし本格的にOpenGLなどを使ってCGを作成するのであれば、
iPhoneではやったことがないのでちょっと僕には分かりませんね・・・。
Interface Builderを用いた編集だとオブジェクトをドラッグするだけだと思うのですが
実際に触ったことがないので間違ってるかもしれません。
iPhoneアプリ入門 (View編)
https://sites.google.com/a/gclue.jp/iphone-app-docs/iphoneapurin...
iPhone SDK 日本語ドキュメント
XCodeのUIをなんでもかんでもとりあえずViewに入れなくてはいけないという概念は、
最新のVBやVC#のModelの概念とは異なるものなのではじめは苦労すると思います。
IBも実はXML的なファイルとして保存されるんですけどね・・・
Modelのように普通にテキストとして開いて細部調節できるような構造にはなっていないので。
もし上手くいかなければ、コメント欄でまた質問してください。