2012年1月3日火曜日

[iOs][storyboard]別ファイルからのnibの読み込み


[storybordからの取得]
EnemyStoryboard* st =[UIStoryboard storyboardWithName:@"EnemyStoryboard" bundle:nil]


[nibからの取得]
EnemyView* v= [[NSBundle mainBundle] loadNibNamed:@"EnemyView"
                             owner:self options:nil]lastObject];

EnemyViewController* vc=[[EnemyViewController alloc]
                             initWithNibName:@"EnemyViewController" bundle:nil];



(おまけ)
アウトレットの配列管理

@property (strong, nonatomic) IBOutletCollection(UIImageView) NSArray *damagePoint;

2011年12月6日火曜日

[ios][storyboard]ストリーボードの動作を確認してみた


まず、よくストリーボードでviewControllerからviewControllerをつなぐsegueをモーダルで画面遷移を定義していくが、AからBへいってBからAに戻る遷移をモーダルでつなぐ人がいたので、それはさすがに違うだろうと思うので実際確認してみた。

- (void)viewDidAppear:(BOOL)animated
{
    NSLog(@"%@",self);
    [super viewDidAppear:animated];
}


2011-12-06 00:26:53.328 modaltest[25564:f803]
2011-12-06 00:26:56.094 modaltest[25564:f803]
2011-12-06 00:27:04.040 modaltest[25564:f803]
2011-12-06 00:27:05.722 modaltest[25564:f803]
2011-12-06 00:27:09.271 modaltest[25564:f803]
2011-12-06 00:27:11.272 modaltest[25564:f803]

当たり前だけど、違うメモリアドレスを返してくる。やはり、モダールはちゃんと
dismissは自分で実装しないといけないみたい。
メモリは同じなので、遷移のスタックがたまっていってるのかな。


資料を探して行き詰まっていたけど、なんだかんだでたよりになるのは
テンプレートのソース。

リストテンプレートを見ればsegueからデータを次のviewControllerに渡す方法も分かる。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

    if ([[segue identifierisEqualToString:@"showDetail"]) {

        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        NSManagedObject *selectedObject = [[self fetchedResultsControllerobjectAtIndexPath:indexPath];
        [[segue destinationViewControllersetDetailItem:selectedObject];
    }
}


リストテンプレートにCoreDataをチェックして作れば、動的Propetyでの利用の仕方が分かる。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];    return cell;
}
カスタムセルが作りやすくなっている気がします。

意外と使えるかも、ストリーボード!



2011年11月21日月曜日

Sencha Touch2をPhoneGapで使えなくて困った


Ext.aplication()では、うまくlaunchが呼ばれなかったので四苦八苦した。


Ext.setupでもうまくいかなかったが、viewportの設定をautoMaximize: falseにすることで表示されるようになった。


Ext.setup({
    viewport: {
        autoMaximize: false
    },
    onReady: function() {
    }
});


2011年11月5日土曜日

iOS5で困ったこと

iOS5で困ったことなのか、Xcode4.2で困ったことなのか分からないが、
「レスポンダチェイン」がすべてのオブジェクトにチェインしていないようだ。

親でtouchMove
子でtouchBegin

子でtouchBeginイベントをとったらtouchMoveイベントも子のみしか取得できていないみたい。
とりあえず、このtouchMoveからsuperviewへそのままイベントを流す処理を記載しました。

何か、設定があればいいなぁ。

喜びも悲しみも共有する人があってこそなんだな

自分はナルシストでわがままだと思っていた。

感情の高まり、喜びや悲しみは、人が生きる上でのエネルギーになり得ることは、私の浅い人生でも感じていることだ。

でも、その喜びや悲しみを自分に提供し、それを自分の中で処理をすることは、自分には無理だった。

今、悲嘆してこのようなコトを感じているのではない。

自分は喜びにあふれているのだ。このことを外に発散できなくて、つぶされそうになる自分がいる。

本当のナルシストなら、自己循環させることができるはずだ。今の自分にはできなかった。

だからこそ、周りにいてくれているみんなに心からありがとうと伝えたい。

そう、今朝、愛おしい自分の脆弱さをみつけたのだ。

2011年10月8日土曜日

[cocos2d]Templateがbuildできない

ver 1.0.1

FontLabelStringDrawing.hがないといわれる

別ライブラリFontLabelをもってきて
https://github.com/zynga/FontLabel

Downloadして解凍したclasses以下のFontLabelフォルダをXcodeにドラッグして完了。

2011年10月2日日曜日

自分に甘くなろう

ちゃんとつくろう!しっかりつくろう!きれいにつくろう!
頭に唱えて
がんばろう、がんばろう、がんばろう
とかしていたけど、なにもできない。
ふいに、気づいてしまった
自分ってそんな人間?
いい加減で、大雑把で、短期型の人間でしょ

いい加減で大雑把な人間と自分を自覚したら
大切なのは、いい加減で、大雑把をいかした方法をとること。
性質はけして欠点にはならないから。
課題に対してのアプローチの多様性は大事だし、
アプローチは変わっても、最終的なアウトプットは大抵変わらない。
アプローチによってアウトプットが変わったならそれは、課題の抱える問題を発見したということ。

だから、自分に甘くなろう。その方法は自分が楽な方法、楽な方法に置き換えられない?
そして、楽な方法を極めていこう。