import CoreMotionするとより詳細な加速度センサの値にアクセスできますが本体を振ってキャンセルなどの処理をさせたいだけの場合、ViewControllerに下記のようなコードを挿入するだけで良いようです。 override func motionBegan(motion: UIEventSubtype, withEvent event: UIEvent) { NSLog(“Swing!") /* code */ }
![[Swift]モーションセンサーからイベントを呼び出す - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/ddfd071ef53d47566f76b1ae179f53bab115d036/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JTVCU3dpZnQlNUQlRTMlODMlQTIlRTMlODMlQkMlRTMlODIlQjclRTMlODMlQTclRTMlODMlQjMlRTMlODIlQkIlRTMlODMlQjMlRTMlODIlQjUlRTMlODMlQkMlRTMlODElOEIlRTMlODIlODklRTMlODIlQTQlRTMlODMlOTklRTMlODMlQjMlRTMlODMlODglRTMlODIlOTIlRTUlOTElQkMlRTMlODElQjMlRTUlODclQkElRTMlODElOTkmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTQwODQ4ODk4MDNlNGQ1ZThiYjIxZDE5NWY4MzQ5OWIy%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB3b3J0aG1pbmUmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTVjZWNkNjBiNjU2NDZhZDM1OTgzYzI2MzJhNmJlMDQ5%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D63af4e1151472a781a085ca472d7c74b)
Xcodeの勉強の手始めに、ストップウォッチを作ってみるところから始め、おおよそ完成しましたので共有します。 いきさつ 基本的なストップウォッチの作り方はニコニコ動画で学習しました。で、大体のストップウォッチにはスタートボタンとストップボタンとリセットボタンとが別々にあり、なんかもっと直感的に操作できてもいいんじゃないかな?(例えば表示をタップすればスタート/ストップ)と思いましたのでこの改良に昼夜をそそいで参りました。 画面全体のどこか(ViewController.view)をタップすればスタート/ストップ、というのはその日のうちにすぐできました。 で、それでは不満でしたのでストップウォッチ機能を持つUILbelを継承して作り、このあたりとこのあたりを参考に、触れるUILabelの継承クラスに改良し、このあたりとこのあたりを参考にデリゲートを実装してラップ機能を持たせることに成功しまし
Swiftの配列操作周りに不満を感じてる貴方へ捧ぐ perl風に全て実装したバージョンを[Swift]extensionで実装するPerl風の配列操作にまとめましたのでご参照ください。 本稿はspliceの実装にやたらと時間をかけたのでそちらのみに特化したTIPSと後日談です。 おさらい swiftのsplice()は下記のような構文で実行されますが、 var a :Array = ["Four", "Seven", "Eight" ] a.splice(["Five", "Six"], atIndex: 1) // -> ["Four","Five","Six",”Seven”,”Eight"] 配列の挿入しかできません(返り値は挿入後の配列) perl風のspliceを使いたい 一方、perlやjavascriptでは配列の挿入と同時に置換が可能です。 あのう、これじゃちょっと弱いんじ
です。 核心は:[Any]にあります。下記はこちらからの引用です。 単にSwiftのArrayを拡張しただけなので、型の混在する配列は作れません とありますが、これはswiftの仕様により「黙示的Any」が認められないためです。 明示的にAnyと書けば通ると思います。 var a :Array = ["String", "String2", "String3" ] var b :Array = [4, 7, 8 ] var c: [Any] = [a, b, 0] c.shift() // -> ["String", "String2", "String3"] class Foo {} let aClass :Foo = Foo() let anArray :Array = [0, 1, 2] let anInt :Int = 0 // 普通にArray型であると明示的に示すと var a
swiftで定義するperl風な配列操作の延長でspliceとかささっと実装しようかと思ったんですけど、endIndexとかから全て実装せねばいけないらしく、面倒だったのでArrayから継承させようとトライして失敗し、「あれ?コレはextensionを利用する事例では?」と思い、その路線で攻めてみたらビルド通りましたので共有します。 Source extension Array { typealias Element = T mutating func scalar() -> Int { // use it if you like perl return Int(self.count) } mutating func pop() -> T? { return self.isEmpty ? nil : self.removeAtIndex(self.endIndex.predecessor(
ただいま基本動作を絶賛学習中です。 Table View ツール系のアプリで使う場面が多いリスト表示について実装してみたいと思います。 Objective-Cの記事ですが、UITableViewを使うにあたって、事前にこちらの記事を確認しておくと、スムーズに理解できると思います。 [iOS] StoryboardでUITableViewを実装し理解する [4月からはじめるiPhoneアプリ #1] プロジェクトの作成 Single View Applicationでプロジェクトを作成します。 作成したプロジェクトのMain.storyboardを開き、右下のコンテナからTableViewを選択してドラッグ&ドロップでstoryboardのViewControllerに追加します。 次に、先ほど追加したTableViewをViewController.swiftに登録します。 ひとまずこれで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く