クリア後の実績(レコード)を表示する部分で
TableViewを使ってならべたいなぁと思って、昨日から
cocos2dのシーンにUITableViewを実装していきました。
やりたいこと
1.レコード(実績)をテーブル表示
2.レコード(実績)毎にボタンを配置
3.おされたボタンでレコード(実績)毎に処理を行いたい。
まずはこちらのサイト様を参考に実装しました。
cocos2d:UITableViewを実装する
ほぼ、そのまま実装させて頂いております。
そして今度はボタンを配置しようとして
UITableViewに設置したUIButtonからindexpath.rowを得る
こちらのサイトからもほぼすべて実装しており
同じセルで複数のボタンを配置しております。
まぁ位置をずらしているだけなんですけど
1 2 3 4 5 6 7 8 9 10 11 12 13 |
UIButton *buttonY = [UIButton buttonWithType:UIButtonTypeRoundedRect]; buttonY.frame = CGRectMake(190, 5, 50, 30); [buttonY addTarget:self action:@selector(buttonYpush:) forControlEvents:UIControlEventTouchUpInside]; [buttonY setTitle:@"Y" forState:UIControlStateNormal]; buttonY.tag = 10; [cell addSubview:buttonY]; UIButton *buttonX = [UIButton buttonWithType:UIButtonTypeRoundedRect]; buttonX.frame = CGRectMake(245, 5, 50, 30); [buttonX addTarget:self action:@selector(buttonXpush:) forControlEvents:UIControlEventTouchUpInside]; [buttonX setTitle:@"X" forState:UIControlStateNormal]; buttonX.tag = 10; [cell addSubview:buttonX]; |
で、まだ実装してないのですが
1 2 3 4 5 6 7 8 9 |
-(void)buttonYpush:(id)sender{ UIButton *btn = (UIButton *)sender; UITableViewCell *cell = (UITableViewCell *)[btn superview]; int row = [table indexPathForCell:cell].row; //こんな感じ予定 //NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; //[defaults stringForKey:[NSString stringWithFormat:@"record_%i", .row+1]] } |
これでボタンを押したときに、実績にあわせた文字列をもってこれるはず。
ですが、ここまでくるまで結構時間かかりました。
やはりUITableViewは手強かった。。。
【cocos2dでUITableViewをカスタマイズ】アプリ開発日記(6/13) http://t.co/3GqU1IFs1Y