なかじまの開発ブログ

アプリ開発における備忘録などなど。

MENU

UINavigationControllerを使って、画面遷移をする【Objective-C】

最近 UINavigationController の便利さに気づきました。いっぱい画面遷移するアプリだと、UINavigationControllerを使うのがいいと思います。最初からある ViewController に実装する体で進めます。 では InterfaceBuilder に NavigationController を設置し…

ゲームの会話みたいにUITextViewに1つ1つ文字を表示する【Objective-C】

昔にどっかのサイトで見たコードを参考にして作りました。(サイト忘れた) タッチしたら文字が1つ1つ表示されて、表示中にもう一度タッチすると文章が全部表示されます。 適当にInterface BuilderにUITextViewを設置しまして、Outlet接続(名前:textView…

NSMutableArray - NSUserDefaults保存・読み込み・削除・削除確認【Objective-C】

NSMutableArray *marray = [NSMutableArray array]; 保存 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [marray addObject:@"a"]; NSData *marrayData = [NSKeyedArchiver archivedDataWithRootObject:marray]; [defaults setObject:…

指定した月の日数を取得【Objective-C】

// 指定した月が何日あるかを取得する - (int)getdays:(NSInteger)year month:(NSInteger)month { NSDateComponents *comps = [[NSDateComponents alloc] init]; [comps setYear:year]; [comps setMonth:month]; NSCalendar *calendar = [NSCalendar current…

現在の時刻を取得する【Objective-C】

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { NSUInteger units = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond; NSDateComponents *comps </uitouch>…

NSStringを結合【Objective-C】

NSString *text1 = @"あいうえお"; NSString *text2 = @"かきくけこ"; NSString *text3 = [text1 stringByAppendingString:text2]; // 結合 NSLog(@"%@", text3);

iPhoneの音量ボタンの押下イベントを検出【Objective-C】

こちらに素晴らしいサイトがありました。frnk.hatenablog.jpしかし、deprecatedが多いためiOS7.0以降でも動くようにした記事を残します。こちらも参考にしました。 【iOS】【MPVolumeView】スライダー移動で音量を変更したときにシステムの音量表示のオーバ…

UITableViewをスクロールした際に、内容がかぶってしまうを解決【Objective-C】

参考サイト UITableViewのチェックマークがスクロールすると消えてしまう(15498)|teratail スクロールをして見えなくなったセルは、再利用のために情報がなくなってしまうようですね。なので、セル別に情報を保存することによって解決するようです。 カスタ…

UITableViewにオリジナルのセルを表示する【Objective-C】

Interface BuilderにUITableViewとセル追加用のUIButtonを設置。ViewController.hにUITableViewをOutlet接続(名前:_tableView)し、UIButtonはAction接続(名前:addBtnTap)してください。 次にオリジナルのセルを作る準備。CustomTableViewCellという名…

UIImageをパラパラマンガのようにアニメーションさせる【Objective-C】

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 32, 32)]; [self.view addSubview:imageView]; NSMutableArray *imageArray = [NSMutableArray array]; [imageArray addObject:[UIImage imageNamed:@"image1.png"]]; [i…

NSStringをchar*に変換【Objective-C】

メモメモ。 NSString *str = @"1234"; char *cr = (char *)[str UTF8String];

ゲームプログラマーを目指して1年ちょっとの私が買ってよかった書籍まとめ

もう1年以上たったんだなぁとしみじみ(´ω`)私はC言語 → C++ → objective-C の流れで勉強(独学)しました。言語別で、書籍の紹介をします。 C言語 ・『Cの絵本』 一番最初に買った書籍です。 最初だったので、難しすぎると挫折すると思い、易しめそうなこの…

【Twitter】スコアなどのつぶやきにスクショを付ける【Objective-C】

『Social.framework』をXcodeに追加してください。 #import <Social/Social.h> #import <CoreGraphics/CoreGraphics.h> #import <QuartzCore/QuartzCore.h> ツイートボタンの押下処理部分に下記を記述 // スクショを撮る UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 0.0f); CGContextRef context = UIGraphic</quartzcore/quartzcore.h></coregraphics/coregraphics.h></social/social.h>…

背景のスクロールをずらして奥行を作る【Objective-C】

タイトルが思いつきませんでした。前回のつづきみたいなものです。前回→UIScrollViewの移動量を取得【Objective-C】 - なかじまブログ 前回設置したUIScrollViewの下に、同じ大きさのUIScrollViewを設置。 そしてViewController.hにOutlet接続をします(名前…

UIScrollViewの移動量を取得【Objective-C】

Interface BuilderにUIScrollViewを設置。設置したUIScrollViewをViewController.hにOutlet接続(名前:scrollView)。 『ViewController.h』 @interface ViewController : UIViewController { float offsetX, offsetY; // UIScrollViewの初期オフセット flo…

NSString型の文字列を値に変換する【Objective-C】

今回は、よく使うint型に変換する方法だけ。(後々追加していくかも) NSString *text = @"12345"; int i = [text intValue]; // または、『text.intValue』 NSLog(@"%d", i); TextFieldに数字を入力して、その値を使いたいときに使えますね。

画面遷移時に次のシーンに変数の値を渡す【cocos2d-x】

こちらを参考にさせていただきました。 cocos2dx シーンからモーダルレイヤーを呼び出す際に変数を渡す方法 - プログラマーのアプリ開発日誌 AClassの変数の値(int a に 7 を代入したとする)を、BClassのシーン移行時に値を受け取る。 『BClass.cpp』 #inc…

シーンとレイヤーをつくる【cocos2d-x】

新しくファイルを作ったとき用のメモ。『SampleLayer.h』 #include <stdio.h> #include "cocos2d.h" class SampleLayer : public cocos2d::Layer { public: static cocos2d::Scene* createScene(); // シーン生成 virtual bool init(); // レイヤー初期化 CREATE_FUNC</stdio.h>…

UIButtonのフォントを変更する【Objective-C】

メモメモ。 button.titleLabel.font = [UIFont fontWithName:@"" size:14]; titleLabel経由しなきゃなんですね。

複数のUIAlertViewのボタン押下処理を管理する【Objective-C】

『ViewController.h』 @interface ViewController : UIViewController <UIAlertViewDelegate> { UIAlertView *alertView1; UIAlertView *alertView2; } 『ViewController.m』 - (IBAction)Button1Tap:(id)sender { alertView1 = [[UIAlertView alloc] initWithTitle:nil message:@</uialertviewdelegate>…

スクリーンショットを取得し、表示する【Objective-C】

便利だなーと思ったのでメモ。Interface Builderに『撮影用のButton』と『スクリーンショット表示用のImageView』を設置。ImageViewはわかりやすく背景を灰色にしてます。 ModeはAspectFitにしました。次に、ViewController.hにUIButtonをAction接続(Shooti…

Interface Builderに設置したUIScrollViewがスクロールしてくれない時に確認すること【Objective-C】

設置したUIScrollViewのcontentSizeを、指定しているか確認しましょう。これを指定しないと、contentSizeのデフォルトサイズがUIScrollViewと同じサイズになるため、スクロールしてくれません。 scrollView.contentSize = CGSizeMake(スクロールさせたい横幅,…

Interface Builderでボタンなどの角を丸くする【Objective-C】

Xcodeの右側(ユーティリティエリア)のアイデンティティインスペクタのタブを開きます。『User Defined Runtime Attributes』の『+』を押します。 『Key Path』には layer.cornerRadius を記述。『Type』は Number を選択。『Value』には好きな数字を入れ…

当たり判定にCGRectIntersectsRectを使う【Objective-C】

CGRectIntersectsRect bool CGRectIntersectsRect(CGRect rect1, CGRect rect2); 実装 それぞれのCGRectが重なると、trueを返してくれます。便利ですね。 if (CGRectIntersectsRect(CGRectMake(X座標, Y座標, 横幅, 縦幅), CGRectMake(X座標, Y座標, 横幅, …

ボタンをタップしてUIScrollViewをページスクロールする【Objective-C】

スクロールしたい画像を用意しておき、Xcodeに追加しておきます。(今回は3枚用意しました)ではまず、ViewControllerにUIScrollViewとボタン2つを設置します。重なり方は画像の左側を参考にしてください。そして、設置したUIScrollViewの『Paging Enabled…

オリジナルのUIAlertViewを作る【Objective-C】

作業としては、UIViewControllerにxibを重ねてウィンドウのように表示させます。 UIViewControllerに表示させる用のボタンを設置してやりましょう。そして設置したボタンをViewController.hにAction接続してください。やり方はこちらを参考に↓ コードで画面…

NSUserDefaultsを使ってデータを永続保存する【Objective-C】

今回はint型のデータを保存 NSUserDefaultsを取得 NSUserDefaults *num = [NSUserDefaults standardUserDefaults]; 値を保存 [num setInteger:500 forKey:@"key_num"]; forKeyは適当に 値を取り出す int num2 = [num integerForKey:@"key_num"]; さっき設定…

アラートビューを表示【Objective-C】

メモ UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"タイトル" message:@"テキスト" delegate:self cancelButtonTitle:@"いいえ" otherButtonTitles:@"はい", nil]; [alertView show];

Bluetooth通信で値を送信する【Objective-C】

今回は、GKPeerPickerControllerを使いません。まず、GameKitフレームワークをプロジェクトに追加。 『ViewController.h』 #import <GameKit/GameKit.h> @interface ViewController : UIViewController <GKSessionDelegate> { GKSession *_session; int num; // 送りたい値 } 『ViewController.m』 </gksessiondelegate></gamekit/gamekit.h>…

コードで画面遷移をする【Objective-C】

StoryboardにView Controllerを追加します。次に新しく作ったViewController用のメソッドを作ります。わかりやすく名前をつけて、(今回名前は「SampleViewController」にします)新しく作ったViewControllerのClassに設定します。そして下にある「Storyboard…