申請が通ったので宣伝。 コルトレーンのblue trainを意識した感じで。 基本的なピアノ機能に加えて それぞれのキーのコードを表示 また、音楽を再生しながら再生できるので 耳コピにもどうぞ。 タダだし。 Scale Navi Piano Katsuyasu Murata ミュージック …
そこまで難しくなかったので画像用意ではなくて これで良いかも // 円の描画 let ovalShapeLayer = CAShapeLayer() //線 ovalShapeLayer.strokeColor = UIColor(red: 1, green: 1, blue: 1, alpha: 1).CGColor //塗りつぶし ovalShapeLayer.fillColor = UICo…
グラデーションのある背景はイラレとかで作らなきゃいけないと思っってたけど 簡単なものならソースで作れる。 //グラデーションカラー一覧 let topColor = UIColor(red:0.07, green:0.357, blue:0.592, alpha:1) let midColor = UIColor(red:1.0, green:1.0…
動作も問題なし validateでエラーもなし でもsubmitでエラー... ERROR ITMS-90032:“Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons':AppIcon120x120” appIconの該当画像を削除したらsubmitできるようになりました。 …
Deviceをuniversalにして、 最初に登録してあるImages.xcassetsに アイコン画像をちゃんと登録しても 実行時にiPadのアイコン画像ないよ〜とワーニングが出る。 そんな時は新しいアイコンセットを作成して そっちを読み込むようにする 新しいアイコン画像登…
windowsでは不可欠なctrl + xでの切り取り。 macではないらしい... それ相当のショートカットとしては まず、command + cでコピーし、 貼り付け時にoption + command + vで コピー元から移動となり、 切り取りと同じ操作に。 家と職場でwindowsとmacを行った…
色々作ってるうちに、こういう細かいとこがUXというのかなと。 func anyTapGesture(sender: UITapGestureRecognizer){ let tmpX:CGFloat = sender.view!.frame.origin.x let tmpY:CGFloat = sender.view!.frame.origin.y let tmpH:CGFloat = sender.view!.fr…
耳コピとか、音楽系アプリなら必須ですね。 cafファイルを再生する mp3ファイルをcafファイルに変換するのは以下ターミナルで実行 afconvert -f caff -d ima4 【変換するファイル名】.mp3 【出力するファイル名】.caf 複数再生できるよう設定を変更 let audi…
mp3ファイルをcafに変換して入れ直したらnilで落ちるようになってはまったのでメモ mainBundle()はテストでは使えないよ、っていうのもあったけど ファイルを入れる時に以下にチェックを入れるとうまくいった。 違う方の対策はswiftでいうクラスの取得がわか…
command + shift + 4で選択範囲のスクリーンショットが撮れる。 便利... 何かの手順をメモする時は活用しないとですね。 //
Illustrator、photoshopで慣れないのが オブジェクトを新規作成した後のサイズ調整メニューを見つけるのが なかなか初心者には直感的にはわからない感じで... オブジェクトのサイズは変形ウィンドウで調整。 アートボードは... 画面右上のこれ。 ちゃんと覚…
UILongPressGestureRecognizerの長押し認識を使う時、長押しを認識と離す時で2回アクションが起きるのを制御するメモ senderのstateで判別ができる。 override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view…
アプリ申請通ったので展開。 OpenWeatherMapの天気情報を使用した天気アプリ。 現在地はもちろん、全世界の天気を表示できる。 ただ、日本に特化していないので他のアプリとの差異がかなりあったり... こういうふわっとしたテイストが好きな方はどうぞ。 無…
アプリを作る中で、そもそもコンテンツがないといくら作りたくても作れないわけで。 そんな中、パブリックドメインの英和辞書データを配布しているところが。 無料 英和辞書データ ダウンロード - Web便利ツールkujirahand.com パブリックドメインだから本当…
複数機種で綺麗にレイアウトしたい時、 それぞれの機種に対してstoryboardファイルを作るか、コードの中でガリガリやらなきゃいけないかと思っていたら、やり方があった。 親viewに対してEqual Height(width)を指定 画面サイズに合わせて伸縮する辺を親view…
端末のロケールからユーザのタイムゾーンに時刻変換するメソッド。 GMTで送られてくるAPIを使用するときとかに。 func changeDateFormatM(dt_txt:String)->String{ var date_formatter: NSDateFormatter = NSDateFormatter() date_formatter.timeZone = NSTi…
nilになることがあって落ちるのを防ぐためにif文でチェックする方法。 記述方法をいつも忘れて調べなおしてるのでメモ。 以下はappDelegateに持たせた変数がまだセットしてない(nil)かチェックしてから使用する例 if let nilCheck = appDelegate.isMapSelect…
純正マップになってから全然使ってないけど ライセンスとかアクセスが制限されない(と思われる)ので ちょっと使いたいぐらいなら良いかも import UIKit import MapKit class SelectLocationViewController: UIViewController, MKMapViewDelegate { var lat =…
テスト的に入れてみたiAd 収益でクラスとかではないので一番簡単な方法で実施 iAdフレームワークのリンク プロジェクトの「general」→「Linked Frameworks and Libraries」で「+」クリック iAdで検索して「iAd Framework」 を追加 iAdフレームワークをインポ…
先月までにと、自分的ノルマで作成してきたアプリを申請 取得した天気をスクロール形式で表示。 背景はひとつながりの草原で、 天気のよって暗さとかが変わるような仕様。 結局こんな感じで落ち着く。 審査が早く通れば良いなと。 にしても、 openWetherMap…
javaだとsubsting()で考えるまでもないけど swiftだと型の罠にハマったのでメモ。 let hh:String = (formatDate as NSString).substringWithRange(NSRange(location: 6,length: 2)) as String substringWithRange()で指定部分を取得できるけど 型がNSString…
iOS Developer Libraryに通信状況を確認できる「Reachability」なるライブラリがあった。 誰かのライブラリを使わないって良い... ライセンスとかで使用条件を確認したりするのが結構疲れる... Reachabilitydeveloper.apple.com そして、テストして気がつい…
今までは画面遷移の際にセグエのidentiferから次の画面を特定して、次の画面のパラメータに値を入れて... とか面倒くさいことやってたけどこんな簡単に出来るんだったとは... AppDelegateに変数定義 class AppDelegate: UIResponder, UIApplicationDelegate …
Retina対応とかで2xのサイズで用意してサイズは1xとしたいことが多かったりする。 let orgImg = UIImage(named: "orgImg.png") let resizedSize = CGSizeMake(365, 400); UIGraphicsBeginImageContext(resizedSize); orgImg?.drawInRect(CGRectMake(0, 0, re…
バックグラウンドにしたアプリを再度フォアグラウンドにした時に更新させるのを検討した時、意外に面倒くさかったのでメモ。 AppDelegate.swiftのapplicationWillEnterForeground()でviewControllerに通知を送るようにする func applicationWillEnterForegro…
ちゃんと理解して使っていないからこうなるんですが 引っかかったのでメモ JSONで天気情報をAPIで取得して画面表示 を検討して色々やっていたら ちゃんとコンソールのログで取得できているのに 画面表示には数十秒遅れて反映される現象が... let url = NSURL…
勘違いしていてハマったのでメモ。 画面の一部がスクロールするような感じにしたくて UIScrollViewをstoryboardに配置して実行。 最初、UIScrollView自体のサイズがスクロールするサイズだと思っていて スクロールしないで悩んでたら そうじゃなくて、 「con…
感動して、ちゃんと覚えておこうと思ったのでメモ。 太陽マークを書こうとして 円の周りにうまいこと三角を並べられないかなぁと調査した結果 回転ツールと同じ作業を繰り返すショートカットで簡単射掛けることが発覚。 回転ツール 回転ツールを選択する前に…
webページでは毎回表示時に画面更新が走るけど iOSアプリでは最初に用意されているviewDidLoad()では最初の一回目の表示にしか呼ばれない。 そんな時はviewDidAppear()を追加。 画面遷移して戻ってくる際に呼ばれるので 別画面でデータ更新して戻る。戻ると…
簡単だけどメモ htmlみたいにmaxlengthで制御できたら良いのに... func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { // 変更後の内容を作成する var tmpStr = textField…