信頼はずっと、挑戦はもっと。

お問い合わせ
TEL:03-3496-3888

BLOG コアテックの社員ブログ (毎週月曜~金曜更新中)

LIST OF ARTICLES

記事一覧

  • テクログ

    Objective-C | タップでキーボードを引っ込める

    先日、新規アプリが無事リリースされました 消費税相互変換電卓 一発消費ゼータくんです。 ↓ 詳しくは画像をクリックしてね! Mac,iPhone,Objective-C 全て利用歴6ヶ月の新米プログラマーが送る 自分が使って役立ったmethod&Tips集 シリーズ第22弾です。 その前にお約束の表示ですよ。 参考場所はありますが単なるコピペを紹介してるわけではありません。 ちゃんと自前で作ってます。(謎のアピール) UITextViewで前回のリターンキーでキーボードが無くなる方法を使うと、改行の毎にキーボードが消えておかしな動作になります。 外側をタッチすると、キーボードが引っ込むようにします。 storyBoard上にUITTapGestureRecognizer設置しcontrolキーでソース上にドラッグします。 ドロップ後、出てきたダイアログにはConnection: Actionを選択、Name: bkgTapped とします。 前回のソースを修正します。 ViewController.h #import  @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UITextField *textBox; - (IBAction)bkgTapped:(id)sender; @end ViewController.m #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {     [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.     _textBox.delegate = self; } - (void)didReceiveMemoryWarning {     [super didReceiveMemoryWarning];     // Dispose of any resources that can be recreated. } - (BOOL)textFieldShouldReturn:(UITextField *)textField {     [self.view endEditing:YES];     return NO; // 改行無効 } - (IBAction)bkgTapped:(id)sender {     // keyboard hide     [self.view endEditing:YES]; } @end 以上   そのほかのObjective-C関連の記事をお探しならコチラをどうぞ   弊社から出している拙作スケジュールのアプリです。 スケジュールというかちょっとした予定を入力して、社長、同僚、家族がどこ行った??っていうときに第三者が確認するためのアプリです 是非ダウンロードして感想をお聞かせ下さい。 『Team Scheduler』 概要 ▼アプリ価格: 無料 ▼対応OS: iOS(iPhone/iPod Touch)、Android ▼カテゴリ: 仕事効率化(App Store)、ビジネス(Google Play) ▼対応言語: 日本語 ▼推奨環境:  iOS版: iPhone4以降、iOS6. 0以降  Android版: Android OS 2. 3以降 ▼ダウンロード:    
  • テクログ

    Objective-C | リターンキーでキーボードを引っ込める

    先日、新規アプリが無事リリースされました 消費税相互変換電卓 一発消費ゼータくんです。 ↓ 詳しくは画像をクリックしてね! Mac,iPhone,Objective-C 全て利用歴6ヶ月の新米プログラマーが送る 自分が使って役立ったmethod&Tips集 シリーズ第21弾です。 その前にお約束の表示ですよ。 参考場所はありますが単なるコピペを紹介してるわけではありません。 ちゃんと自前で作ってます。(謎のアピール) Objective-Cのコーディングでビックリしたことの一つにキーボードが自動で引っ込まないことです。 Androidは自動で引っ込むのに・・・。 入力キーボードが引っ込むのは当たり前に見かけますが、裏では職人が手作業で1画面1画面引っ込ませてるのです( ;∀;) 今回はUITeixtField専用ですが、リターンキーでキーボードを引っ込める方法です。 storyBoard上に設置したUITeixtFieldをcontrolキーで引き込んだ後の話です。 UITextFieldDelegate を利用してます ViewController.h #import  @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UITextField *textBox; @end ViewController.m #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {     [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.     _textBox.delegate = self; } - (void)didReceiveMemoryWarning {     [super didReceiveMemoryWarning];     // Dispose of any resources that can be recreated. } - (BOOL)textFieldShouldReturn:(UITextField *)textField{     [self.view endEditing:YES];     return NO; // 改行無効 } @end これでリターンを押すとキーボードが引っ込むようになります。   そのほかのObjective-C関連の記事をお探しならコチラをどうぞ   弊社から出している拙作スケジュールのアプリです。 スケジュールというかちょっとした予定を入力して、社長、同僚、家族がどこ行った??っていうときに第三者が確認するためのアプリです 是非ダウンロードして感想をお聞かせ下さい。 『Team Scheduler』 概要 ▼アプリ価格: 無料 ▼対応OS: iOS(iPhone/iPod Touch)、Android ▼カテゴリ: 仕事効率化(App Store)、ビジネス(Google Play) ▼対応言語: 日本語 ▼推奨環境:  iOS版: iPhone4以降、iOS6. 0以降  Android版: Android OS 2. 3以降 ▼ダウンロード:    
  • テクログ

    Objective-C | 数値、全角、半角文字列のチェック色々

    先日、新規アプリが無事リリースされました 消費税相互変換電卓 一発消費ゼータくんです。 ↓ 詳しくは画像をクリックしてね! Mac,iPhone,Objective-C 全て利用歴6ヶ月の新米プログラマーが送る 自分が使って役立ったmethod&Tips集 シリーズ第20弾です。 その前にお約束の表示ですよ。 参考場所はありますが単なるコピペを紹介してるわけではありません。 ちゃんと自前で作ってます。(謎のアピール) 登録前の入力文字制限するために文字列のチェックを行います。 英数字以外は自分で文字の範囲を指定しないと駄目で、文字コードを色々設定してます。 引数がアルファベットのみかチェック 引数がアルファベットと数字のみかチェック 引数がアルファベットと数字と記号のみかチェック 引数が全角文字が存在するかチェック 引数が数字のみかチェック Check.h  #import  @interface Check : NSObject + (BOOL) chkAlphabet:(NSString *)checkString; + (BOOL) chkAlphaNumeric:(NSString *)checkString; + (BOOL) chkNumeric:(NSString *)checkString; + (BOOL) chkAlphaNumericSymbol:(NSString *)checkString; + (BOOL) chkMultiByteChar:(NSString *)checkString; @end Check.m #import "Check.h" @implementation Check  // アルファベットのみか + (BOOL)chkAlphabet:(NSString *)checkString {     @autoreleasepool     {         // アルファベットのみで構成されるキャラクタセット         // 範囲を指定する方法でキャラクタセットに文字を追加している         NSMutableCharacterSet *alCharSet;         alCharSet = [[NSMutableCharacterSet alloc] init];         // 'a'から'z'を追加する         [alCharSet addCharactersInRange:NSMakeRange('a', 26)];         // 'A'から'Z'を追加する         [alCharSet addCharactersInRange:NSMakeRange('A', 26)];                  //alCharSet = [[NSCharacterSet alphanumericCharacterSet] mutableCopy]; // 英数字;         //NSCharacterSet *digitCharSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];         bool ret = [self chkCompareString:checkString baseString:alCharSet];         return ret;          } } // アルファベットと数字のみか + (BOOL)chkAlphaNumeric:(NSString *)checkString {     @autoreleasepool     {         // アルファベットと数字のみで構成されるキャラクタセット         NSCharacterSet *alnumCharSet = [NSCharacterSet alphanumericCharacterSet]; // 英数字;         bool ret = [self chkCompareString:checkString baseString:alnumCharSet];         return ret;     } } // アルファベットと数字と記号のみか + (BOOL)chkAlphaNumericSymbol:(NSString *)checkString {     @autoreleasepool     {         // アルファベットと数字のみで構成されるキャラクタセット         NSMutableCharacterSet *muCharSet = [[NSCharacterSet alphanumericCharacterSet] mutableCopy]; // 英数字;         // 'A'から'Z'を追加する         [muCharSet addCharactersInString:@"$\"!~&=#[]._-+`|{}?%^*/'@-/:;(),"];                  bool ret = [self chkCompareString:checkString baseString:muCharSet];         return ret;     } } // 全角文字が存在するか + (BOOL)chkMultiByteChar:(NSString *)checkString {     if([checkString canBeConvertedToEncoding:NSASCIIStringEncoding]) {         return YES;     }     //NSLog(@"全角文字が含まれています。");     return NO; } // 数字のみか (引数は文字列なので注意) + (BOOL)chkNumeric:(NSString *)checkString {     @autoreleasepool     {         NSCharacterSet *digitCharSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];         bool ret = [self chkCompareString:checkString baseString:digitCharSet];         return ret;     } } + (BOOL)chkCompareString:(NSString *)checkString baseString:(NSCharacterSet *)baseString {     @autoreleasepool     {         NSScanner *aScanner = [NSScanner localizedScannerWithString:checkString];         // NSScannerはデフォルトでは前後のスペースなどを読み飛ばしてくれるのだが、あえて-setCharactersToBeSkipped:でnilを渡して抑制している。         [aScanner setCharactersToBeSkipped:nil];         [aScanner scanCharactersFromSet:baseString intoString:NULL];         return [aScanner isAtEnd];     } } ViewController.h は変更なし ViewController.m #import "ViewController.h" #import "Check.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {     [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.          // アルファベットと数字のみか     if ([Check chkAlphaNumeric:@"13%"] == NO) {         NSLog(@"error");     }          // UITextField の記述方法     //if ([TSCheck _textbox.text] == NO) {     //    NSLog(@"error");     //}      } - (void)didReceiveMemoryWarning {     [super didReceiveMemoryWarning];     // Dispose of any resources that can be recreated. } @end 説明のために超単純化してます、本来ならボタン押したときに入力欄をまとめてチェックするなどで使うと便利です。 参考サイト ■alperithm Objective-C NSStringの半角/全角判別 クラスの作成日を見たら初めてから一ヶ月たってない時に作ったので間違いなく、 どこか参考にしてるサイトが他にもあるのですが 残念ながら見当たりませんでした。   そのほかのObjective-C関連の記事をお探しならコチラをどうぞ   弊社から出している拙作スケジュールのアプリです。 スケジュールというかちょっとした予定を入力して、社長、同僚、家族がどこ行った??っていうときに第三者が確認するためのアプリです 是非ダウンロードして感想をお聞かせ下さい。 『Team Scheduler』 概要 ▼アプリ価格: 無料 ▼対応OS: iOS(iPhone/iPod Touch)、Android ▼カテゴリ: 仕事効率化(App Store)、ビジネス(Google Play) ▼対応言語: 日本語 ▼推奨環境:  iOS版: iPhone4以降、iOS6. 0以降  Android版: Android OS 2. 3以降 ▼ダウンロード:    
  • テクログ

    Objective-C | NSMutableAttributedStringで文字の装飾

    Mac,iPhone,Objective-C 全て利用歴6ヶ月の新米プログラマーが送る 自分が使って役立ったmethod&Tips集 先日、予告していた新規アプリが無事リリースされました 消費税相互変換電卓 一発消費ゼータくんです。 ↓ 詳しくは画像をクリックしてね! シリーズ第19弾です。 その前にお約束の表示ですよ。 参考場所はありますが単なるコピペを紹介してるわけではありません。 ちゃんと自前で作ってます。(謎のアピール) 文字の装飾です。太字や色変えはStoryBordのプロパティいじればいいのですがちょっと豪華にするにはコードで記述が必要です。 ViewController.m #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {     [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.     NSMutableAttributedString *mAString = [[NSMutableAttributedString alloc] initWithString:@"一発消費ゼータくん release"];     // 下線     [mAString addAttribute:NSUnderlineStyleAttributeName                     value:[NSNumber numberWithInteger:NSUnderlineStyleSingle]                     range:NSMakeRange(0, mAString.length)];     // 白抜き     [mAString addAttributes:@{NSStrokeColorAttributeName : [UIColor blueColor], NSStrokeWidthAttributeName : [NSNumber numberWithFloat:3.f]}                      range:NSMakeRange(10, 7)];         [_attrLabel setAttributedText :mAString]; } - (void)didReceiveMemoryWarning {     [super didReceiveMemoryWarning];     // Dispose of any resources that can be recreated. } @end 効果は重複します 他のレイアウトも当てることが可能です ■Cyber Passion for iOS NSAttributedStringによる文字装飾   そのほかのObjective-C関連の記事をお探しならコチラをどうぞ   弊社から出している拙作スケジュールのアプリです。 スケジュールというかちょっとした予定を入力して、社長、同僚、家族がどこ行った??っていうときに第三者が確認するためのアプリです 是非ダウンロードして感想をお聞かせ下さい。 『Team Scheduler』 概要 ▼アプリ価格: 無料 ▼対応OS: iOS(iPhone/iPod Touch)、Android ▼カテゴリ: 仕事効率化(App Store)、ビジネス(Google Play) ▼対応言語: 日本語 ▼推奨環境:  iOS版: iPhone4以降、iOS6. 0以降  Android版: Android OS 2. 3以降 ▼ダウンロード:    
  • テクログ

    Objective-C | UITableViewのCellソートと削除

    Mac,iPhone,Objective-C 全て利用歴6ヶ月の新米プログラマーが送る 自分が使って役立ったmethod&Tips集 先日、予告していた新規アプリが無事リリースされました 消費税相互変換電卓 一発消費ゼータくんです。 ↓ 詳しくは画像をクリックしてね! シリーズ第18弾です。 その前にお約束の表示ですよ。 参考場所はありますが単なるコピペを紹介してるわけではありません。 ちゃんと自前で作ってます。(謎のアピール) UITableViewの削除と並び替えを行っている箇所 File→New→ProjectでMaster-Detail Applicationを選択して新規にプロジェクトを作成したという前提で説明します。 並び替えを可能にするのは簡単です。 MasterViewController.mの tableView:moveRowAtIndexPath:toIndexPath:と tableView:canMoveRowAtIndexPath:のコメントを解除すればOK 削除を抑止したいとき  tableview 関連が記述されているどっかに 3行追加 // 削除抑止 - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {     return UITableViewCellEditingStyleNone; } 通常、UITableViewController(UITableViewに非ず)を画面として使うことは無いでしょう。 UITableViewを使う場合、追加削除に入れないので、コチラを利用してください。 Tomute’s Notes Twitter UITableViewの編集モードへの移行方法メモAdd Star   そのほかのObjective-C関連の記事をお探しならコチラをどうぞ   弊社から出している拙作スケジュールのアプリです。 スケジュールというかちょっとした予定を入力して、社長、同僚、家族がどこ行った??っていうときに第三者が確認するためのアプリです 是非ダウンロードして感想をお聞かせ下さい。 『Team Scheduler』 概要 ▼アプリ価格: 無料 ▼対応OS: iOS(iPhone/iPod Touch)、Android ▼カテゴリ: 仕事効率化(App Store)、ビジネス(Google Play) ▼対応言語: 日本語 ▼推奨環境:  iOS版: iPhone4以降、iOS6. 0以降  Android版: Android OS 2. 3以降 ▼ダウンロード:    
  • テクログ

    Objective-C | CPUとメモリ使用量を画面に表示

    Mac,iPhone,Objective-C 全て利用歴6ヶ月の新米プログラマーが送る 自分が使って役立ったmethod&Tips集 先日、予告していた新規アプリが無事リリースされました 消費税相互変換電卓 一発消費ゼータくんです。 ↓ 詳しくは画像をクリックしてね! シリーズ第17弾です。 使用CPU/メモリをリアルタイムに表示します。 普通にやるなら、#import 呼んでから色々するのですがOSSを利用してさくっと表示 https://github.com/shu223/Stats これにもサンプルが入ってるのですが古すぎて動かないので修正しました。 その前にお約束の表示ですよ。 参考場所はありますが単なるコピペを紹介してるわけではありません。 ちゃんと自前で作ってます。(謎のアピール) Stats ディレクトリを自分のプロジェクトに入れて ViewController.m #import "ViewController.h" #import "Stats.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {     [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.     Stats *label = [[Stats alloc] init];     [label setFrame:CGRectMake(20.0f, 120.0f, 100.0f, 160.0f)];     [self.view addSubview:label]; } - (void)didReceiveMemoryWarning {     [super didReceiveMemoryWarning];     // Dispose of any resources that can be recreated. } @end 表示内容はリンク先を参照してください 導入が簡単なので、一時的に表示してUITableViewなどでメモリリークしてないか調べるのにいいかも   そのほかのObjective-C関連の記事をお探しならコチラをどうぞ   弊社から出している拙作スケジュールのアプリです。 スケジュールというかちょっとした予定を入力して、社長、同僚、家族がどこ行った??っていうときに第三者が確認するためのアプリです 是非ダウンロードして感想をお聞かせ下さい。 『Team Scheduler』 概要 ▼アプリ価格: 無料 ▼対応OS: iOS(iPhone/iPod Touch)、Android ▼カテゴリ: 仕事効率化(App Store)、ビジネス(Google Play) ▼対応言語: 日本語 ▼推奨環境:  iOS版: iPhone4以降、iOS6. 0以降  Android版: Android OS 2. 3以降 ▼ダウンロード: