音楽を再生するためだけのシンプルなアプリを作ってみました。
Swift勉強がてらなのでクソ設計ですが、誰かの参考になればと思い、GitHubにて公開しております。
MITライセンスです。
[GitHub] Nokokinoko/nusic
質問などあればお気軽にどうぞ!
2018年4月8日日曜日
2018年4月5日木曜日
シリーズ完結
noteにて一つのシリーズを完結しました!
エンジニアよ、稼ぐか搾取されるか #3
エンジニアよ、稼ぐか搾取されるか #4
フリーランスとして働くために必要なスキルや、そもそも働くとは何なのか、エンジニアとして成功するために必要な能力について自分の見解ではありますが、連々と書き綴っております。
noteの方も見てもらえたら大変嬉しいです!
エンジニアよ、稼ぐか搾取されるか #3
エンジニアよ、稼ぐか搾取されるか #4
フリーランスとして働くために必要なスキルや、そもそも働くとは何なのか、エンジニアとして成功するために必要な能力について自分の見解ではありますが、連々と書き綴っております。
noteの方も見てもらえたら大変嬉しいです!
2018年4月4日水曜日
モーダル範囲外のタッチを判定
タッチした際にモーダル等の矩形の範囲内外を判定する方法です。
touchesBeganなので指が画面に触れた時のイベントです。
touchesEndedにすれば指が画面から離れた時のイベントになります。
ただ、touchesBeganに画面制御を記述すると反応の早い、ユーザビリティの高いアプリとユーザに判断されます。まぁこれも使い所次第ですが😅
課金とかにtouchesBeganで処理されたら私は速攻アプリアンインストールします😅
なんか信用出来ないですからね…
というかUIがボタンならBeganでselectな制御(グレースケールしたりとか縮小させたりとか)して、Movedで範囲内外を判定、Endedで範囲内(というかBeganで触ったものと同一のままならとか)ならselectedな制御して範囲外なら何もしない(タッチ状態フラグを解除程度)みたいな制御が普通ですね。
こういう制御例ってあまりネットに載らないですよね😇
各社ノウハウとして溜まってるだけで。
まぁ気が向いたらその辺も公開していきます🙌掲載するコード量がとんでもないことになりそう😇
- Xcode 8.3.3
- Swift 3.1
import UIKit class ExampleViewController: UIViewController { private var _Dismiss: Bool = false private let TAG: Int = 100 override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = UIColor.gray _Dismiss = false let viewAdd = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 400)) viewAdd.backgroundColor = UIColor.white viewAdd.center = self.view.center viewAdd.tag = TAG self.view.addSubview(viewAdd) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } override func touchesBegan(_ touches: Set<uitouch>, with event: UIEvent?) { if _Dismiss { return } let point = touches.first?.location(in: self.view) let viewAdd: UIView = self.view.viewWithTag(TAG)! as UIView if !viewAdd.frame.contains(point!) { _Dismiss = true // 範囲外をタッチした時の処理 } } }
touchesBeganなので指が画面に触れた時のイベントです。
touchesEndedにすれば指が画面から離れた時のイベントになります。
ただ、touchesBeganに画面制御を記述すると反応の早い、ユーザビリティの高いアプリとユーザに判断されます。まぁこれも使い所次第ですが😅
課金とかにtouchesBeganで処理されたら私は速攻アプリアンインストールします😅
なんか信用出来ないですからね…
というかUIがボタンならBeganでselectな制御(グレースケールしたりとか縮小させたりとか)して、Movedで範囲内外を判定、Endedで範囲内(というかBeganで触ったものと同一のままならとか)ならselectedな制御して範囲外なら何もしない(タッチ状態フラグを解除程度)みたいな制御が普通ですね。
こういう制御例ってあまりネットに載らないですよね😇
各社ノウハウとして溜まってるだけで。
まぁ気が向いたらその辺も公開していきます🙌掲載するコード量がとんでもないことになりそう😇
2018年4月3日火曜日
遷移時にブラーを自然に重ねて表示
ブラー効果を簡単に利用するではSwiftの利用方法を紹介しました。
ただこれを使って重ねて表示(Over Current Context)するとフェードインした後、急にブラーの背景に変わって違和感があります。
今回はブラー効果を重ねて表示する際に自然に表示出来るよう調整する方法です。
なんか無理矢理感が否めないです🙇
ブラーをいじったり、アニメーションスタイルをいじれば良いのですが、私はそこまでのめり込むつもりがないのです😇
ただこれを使って重ねて表示(Over Current Context)するとフェードインした後、急にブラーの背景に変わって違和感があります。
今回はブラー効果を重ねて表示する際に自然に表示出来るよう調整する方法です。
- Xcode 8.3.3
- Swift 3.1
import UIKit class ExampleViewController: UIViewController { private var _Blur: UIVisualEffectView! override func viewDidLoad() { super.viewDidLoad() _Blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.dark)) _Blur.frame = self.view.frame _Blur.alpha = 0.0 self.view.addSubview(_Blur) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) UIView.animate( withDuration: 0.25, animations: { self._Blur.alpha = 1.0 } ) } }
なんか無理矢理感が否めないです🙇
ブラーをいじったり、アニメーションスタイルをいじれば良いのですが、私はそこまでのめり込むつもりがないのです😇
2018年4月2日月曜日
ブラー効果を簡単に利用する
iOSにて開発時に用意されているブラー効果(いわゆるすりガラスのようなぼかし効果です)をSwiftで簡単に利用する方法です。
この例ではUIBlurEffectStyle.darkを指定しているため黒のブラーです。
他にも.lightで白ブラー、.extraLightでlightよりも薄い白のブラーとなります。
ぼかし具合とか変えたい場合は結構いじる必要がありそうです😇
なんか実際に奥側に当たる箇所にブラー効果を加えてるのではなく、内部でスクリーンショット撮ってブラー効果を加えたものを設置してるのかな?
深く理解していませんが、そこまでApple様に加担するつもりはありませんので黙って用意されたもので我慢しておきます😇
- Xcode 8.3.3
- Swift 3.1
let _Blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.dark)) _Blur.frame = self.view.frame self.view.addSubview(_Blur)
この例ではUIBlurEffectStyle.darkを指定しているため黒のブラーです。
他にも.lightで白ブラー、.extraLightでlightよりも薄い白のブラーとなります。
ぼかし具合とか変えたい場合は結構いじる必要がありそうです😇
なんか実際に奥側に当たる箇所にブラー効果を加えてるのではなく、内部でスクリーンショット撮ってブラー効果を加えたものを設置してるのかな?
深く理解していませんが、そこまでApple様に加担するつもりはありませんので黙って用意されたもので我慢しておきます😇
2018年4月1日日曜日
TabBar + Navigation構成でViewに遷移
TabBarにNavigationではタブ要素にナビを追加して親子関係を作りました。
TabBarからViewに遷移ではタブのアイテムにViewへ遷移するための処理を追加しました。
今回はタブ要素にナビを追加した上で表示されたViewから別Viewへ遷移するための処理を紹介します。
適切な所に処理を記述して下さい。
TabBarからViewに遷移と同様、重ねて表示(Over Current Context)します。
構成としてTabBarがアイテム要素を管理、各アイテムはNavigationであり、表示するViewControllerを持っています。
別Viewへ遷移するためのトリガーはこのViewControllerとなりますので、2つ上のparentにpresentを実行します。
なんかもう少しスマートなやり方がありそうな気がします…
相対的な指定が汎用性だったり拡張性を失わせておる😈
TabBarからViewに遷移ではタブのアイテムにViewへ遷移するための処理を追加しました。
今回はタブ要素にナビを追加した上で表示されたViewから別Viewへ遷移するための処理を紹介します。
- Xcode 8.3.3
- Swift 3.1
適切な所に処理を記述して下さい。
TabBarからViewに遷移と同様、重ねて表示(Over Current Context)します。
let vcNext = UIViewController() vcNext.modalPresentationStyle = .overCurrentContext parent?.parent?.present(vcNext, animated: false, completion: nil)
構成としてTabBarがアイテム要素を管理、各アイテムはNavigationであり、表示するViewControllerを持っています。
別Viewへ遷移するためのトリガーはこのViewControllerとなりますので、2つ上のparentにpresentを実行します。
なんかもう少しスマートなやり方がありそうな気がします…
相対的な指定が汎用性だったり拡張性を失わせておる😈
登録:
投稿 (Atom)