Readmeテンプレート
R## 概要 歯車が回転したり、止まったすことで、タスクが進行中であることを示すクラス
継承元
UIView
実装手順
1.ストーリーボードから、UIButtonのアクションを2つとUIActivityIndicatorViewを追加 2.上記をViewControllerと紐付け 3.メソッド実装
主要プロパティ
プロパティ名 | 説明 | サンプル |
---|---|---|
hidesWhenStopped | アニメーション中でない時に、indicatorを隠す | indicator.hidesWhenStopped = true | |
isAnimating | アニメーション中か確認(Bool) | indicator.isAnimating |
color | indicatorに色をつける | indicator.colar = UIColar.red |
主要メソッド
メソッド | 説明 | サンプル |
---|---|---|
startAnimating() | アニメーションスタート | indicator.startAnimating() | |
stopAnimating() | アニメーションストップ | indicator.stopAnimating() |
フレームワーク
UIKit.framework
サポートOSバージョン
iOS2.0以上
開発環境
Category | Version |
---|---|
Swift | 3.02 |
XCode | 8.2.1 |
iOS | 10.0〜 |
参考
画像のキャッシュ(SDWebImage)
Apiで取得したurlを使って画像をキャッシュ→表示させる
①PodfileでSDWebImageをインストール ②#import <SDWebImage/UIImageView+WebCache.h> ③コーディング
1.
こんな感じにPodfileに書き込み Pods for HotPepperApp pod ‘AFNetworking’ pod ‘SDWebImage’
2.
#import <SDWebImage/UIImageView+WebCache.h></br>
3.
NSURL *url = [NSURL URLWithString:shop.logo]; UIImage *placeholderImage = [UIImage imageNamed:@"noImage"]; [cell.logoImage sd_setImageWithURL:url placeholderImage:placeholderImage];
.gitignoreの作り方
gitignoreファイルの作成
git管理下でプロジェクトを作成
atomなどのエディタで.gitignoreファイルを作成
以下をエディタに記載し、.gitディレクトリと同じ階層におく
*.xcodeproj/* !*.xcodeproj/project.pbxproj !*.xcworkspace/contents.xcworkspacedata *.swp .DS_Store
###すでに開発を進めていて、後から追加する場合
上記の手順を踏んだ後ターミナルですでにコミットしてしまった不要なファイルを削除
$ git rm --cached プロジェクト名.xcodeproj/project.xcworkspace/xcuserdata/ユーザー名.xcuserdatad/UserInterfaceState.xcuserstate
先ほど足した.gitignoreファイルをadd
$ git add .gitignore
忘れずにコミット
git commit -m "remove chache and add .gitignore"
以上
AutoLayout1
AutoLayoutのポイント
・Constraintsを設定する前に、だいたいの大きさや位置はpreviewで設定しておく。そうしないと、Constraints変になる
①全画面にimageViewを表示する
UIImageViewを選択した状態で、add new constraintsを選択する。
Marginを上下左右0に設定。Add 4 Constrainsを押すのを忘れずに。
黄色いボタンwarning button が出たら、previewとconstraintsがずれているという意味。 黄色い部分をクリック。Fix Missplacemantをクリックする
②ボタンやラベルを高さ50で3つ重ねる場合
それぞれのボタンで同じように設定すれば0K
③ボタンの高さと幅を同じ割合で配置
Aspect Ratioにチェックを入れる
Multiplierの所でwidth:heightで設定できる
④中央に以下のように、画面中央に、画面幅の60%の幅で、ボタンを配置する
まずは中央に配置
buttonを押した状態で、controlを押しながら、viewと結びつけ、まずはEqual Widthsにチェック
Multiplierで0.6に設定
図だと一応Aspect Ratioも設定している
⑤複数のボタンを上から100ピクセルの位置に、同じ幅で3つ配置する。ボタンの高さは50ピクセル
まず基準となるbuttonのConstraintsを設定
2番目のbuttonの設定
最後のbuttonの設置
赤、緑、黄色の順でクリックし高さと幅を基準(黄色)に合わせる
最後に3つのbuttonの中心が基準と同じになるように設定
デバイスのディレクトリパスとNSFileManager
データをどのディレクトリに入れるかを整理する。
・cachesディレクトリ
このディレクトリ下のデータは、アプリがアクティブの時でも削除される可能性がある
・tmpディレクトリ
このディレクトリ下のデータは、 アプリがアクティブの時は保持され続ける
・Documentsディレクトリ
このディレクトリ下のデータは、アプリがアンインストールされない限り保持され続ける
参考 [http://qiita.com/zck/items/9d087d498ce711b22c04:title]
tmpディレクトリまでのパス
NSString *tmpDirPath = NSTemporaryDirectory();
cachesディレクトリまでのパス
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *DocumentsDirPath = [paths objectAtIndex:0];
Documentsディレクトリまでのパス
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *cachesDirPath = [paths objectAtIndex:0];
ファイルを保存したり、管理する場合、通常これらどのディレクトリにしても配下に新しいディレクトリを用意して管理することになる。 そこでNSFileManagerを使用して、新しいディレクトリを作り、imageファイルを保存する方法をおさらい
今回は、Documentsディレクトリ配下にsampleDirectoryというディレクトリを作る。
viewdidloardとかに Asset catalogで指定した画像をimageに入れる(Asset catalogに入れた場合、画像は消去してok)
UIImage *image = [UIImage imageNamed: @"dog"]; NSData *imageData = UIImagePNGRepresentation(image);
ディレクトリ作成の前に新しく作るディレクトリまでのpathを取得する。
NSString *newDocumentsDirPath = [DocumentsDirPath stringByAppendingPathComponent:@"sampleDirectory"];
この時点ではまだpathを取得しただけ。実際にディレクトリは存在しない
NSFileManager *fileManager = [NSFileManager defaultManager]; NSError *error = nil; //ディレクトリを作る BOOL created = [fileManager createDirectoryAtPath:newDocumentsDirPath withIntermediateDirectories:YES attributes:nil error:&error]; if(!created){ NSLog(@"作れなかったよ"); }
stringByAppendingPathComponentメソッドを使用して、ディレクトリ配下にdog.igoファイルを追加したpathを取得しwriteToFileメソッドでファイルを書き込む
NSString *filePath = [newDocumentsDirPath stringByAppendingPathComponent:@"dog.igo"]; [imageData writeToFile:filePath atomically:YES]; ```
自作アプリのUrlスキーマを設定
自作アプリをサファリなどの他のアプリから開く
プロジェクトのターゲットをクリック URL Types で設定 identifier と URL Schemes を設定。Identifierは Bundle Identifierと同じで良い
plistには自動で値が入る
開くときは、設定したUrl Scheme://で開く。 例 stvichi://