Swift
github.com ReactNativeとNative機能のBridgeのサンプル。 このサンプルはIOSのみですが気軽にNative機能にアクセスできるのは素晴らしい。 単純なUI部分はReactNativeで実装して、react-native-router-fluxなどのRouter機能と合わせて使っていくと、作業の…
View LifeCycle一覧にしてみた。 gist.github.com
アプリで自動的にキーボードを表示したい時の処理、探してもなかなか見つからなかったのでメモしておく www.giphy.com 自動的に表示する場合 private var toolbar: UIToolbar! override func viewDidLoad() { self.textView.becomeFirstResponder() } 自動的…
String型のクラス名からクラスを生成するサンプル、 NSStringFromClassを使って、クラス名を一度取得し、それをNSClassFromStringで変換をかけた、 どうも、ターゲット名が含まれていないと、NSClassFromStringで変換をかける時にエラーが発生してしまった。…
Top 100 Best Blogs for iOS Developers IOSのベストブロガー100人が列挙されているサイト、そのなかでも面白そうなブログを探してみた。 App Coda www.appcoda.com チュートリアルが詳しくかつわかりやすく取り上げられている、ここを見えているだけでかな…
UITableViewの無限スクロールを実装するサンプル func scrollViewDidScroll(scrollView: UIScrollView) { if(self.tableView.contentOffset.y >= (self.tableView.contentSize.height - self.tableView.bounds.size.height)) { print("run action!") } }
カスタムテーブルセルのアクセションをその親のビュークラスから操作する必要がでてくる事があります。 その時にデリゲート使って、他のクラスに処理を委任する方法を書いてみました。 キーとなるのはプロトコル、まずプロトコルでどのようなファンクション…
Slackで使っているチャットUIが使える、SlackTextViewControllerを試してみる。 github.com 仕組みとしてはシンプルで、growing text input viewに入力されたメッセージがtable viewに収まっていく、カスタムセルを作っておく必要がある。 その時のサンプル、…
Swift 複数のカスタムセルを使いわけたいときの実装方法。 具体的には、 ①カスタスセルのclassを2種類作成する。 ②tableView.registerClassでその2種類のカスタムセルを登録する。 ③cellForRowAtIndexPath内で条件により使いわける。 でOKだった。 override …
意外にも日本語の記事がみつからなかったので、 SwiftでUDIDを取得する方法、 UIDevice.currentDevice().identifierForVendor stringで欲しいときは、 UIDevice.currentDevice().identifierForVendor!.UUIDString
Swiftで開発しているとよく遭遇するエラーたち、、書き留めていこうと思う。 nib but the view outlet was not set nibファイルの指定が間違えていた。nibNameの指定を修正。 override func loadView() { if let view = UINib(nibName: "CommetForm", bundle…
いままでレイアウトは全てコードで書いてきたが、 複雑にレイアウトになった場合に、コード内のみとうしがかなり悪くなる。xlibでのレイアウトを試してみた。 その時の作業ログ viewを新規作成 viewのOwnerを変更 UseXibVieクラスは先に作成しておく。 UINib…
Alamofireの作業ログ、何点かハマるポイントがあったのでその記録。 httpファイルにアクセスできない https://以外のhttpのアクセスは制限されています。 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecur…
Swiftでclass間でのデータのやりとりをしようと思って作ったサンプル。サンプルではカスタムセルと親となるTableViewの間でNotificationのやり取りを行っている。カスタムセル上にボタンを配置して、tapしたタイミングで親Tableの処理を実行するなんて事が可…
callBackのサンプルを作ってみる。簡単に実装できる。にしてもIBMのSwift Sandboxはいいな使いやすい。 swiftlang.ng.bluemix.net class Dog { func run(param:Int, callBackClosure:(Bool, Int) -> Void) -> Void{ var SuccessOrError = false SuccessOrErr…
コードのみでUITableViewのCustomCellの高さを自動調整するサンプルを作成してみる。xibファイルは未使用。 StoryBoardを使ってCustomCellの高さを可変にできる記事はたくさんあるのだがコードのみで、そのレイアウトを実現する方法がみつからなかったので試…
UIImagePickerControllerでカメラの画像を取得するサンプルこれもシンプルな実装で完結できる。 作ってみたコードはこちら、赤いボタンを押すと写真が選択され画面に表示される。すこし気をつける部分は以下の設定も必要。 UINavigationControllerDelegate …
地図の緯度軽度はとれたので、現在の住所を取得した時の作業ログ。てっきりGoogleのGeo APIなんかをつかうのかと思っていましたが、Xcode上の機能だけで完結できる、難易度は高くない。 前回の続きから、 onga-tec.hatenadiary.jp 今回つくったのは、地図上…
Realmで地図の位置情報と時間とコメントを保存してみる。 LocateModelWrapというclassでWrapして使っているがもっといい方法はきっとあるのだろう。 gist.github.com Realmをテストする際には、@testableを利用しました。 ModelファイルのTargetにTestsを含…
Swiftで開発中に以下のエラーが発生してライブラリが読み込めないことがあるが、いまいち原因が掴まない。Xcodeの挙動を理解していない事が一番の原因なのだけれど根本的な原因を掴める記事がみつからない、ひとまず事例をweb上から集めてみようとおもう。 d…
SwiftでCoreLocationとMapKitで現在地を表示したの時のサンプル プログラミング自体よりも、Xcode周りの設定に気を使う印象 Xcode Version 7.3.1 Swift 2.2 シュミレータのlocationを設定しておく XcodeでCorelocation.framaworkを読み込んでおく info.plist…
Xcode8に変更した時にCGRectMake is unavailable in Swiftと出る場合 let labelTag = UILabel(frame: CGRectMake(0, 0, 100, 100)) 以下のように修正 let labelTag = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) Swift3の俗に言われる破壊…
Swiftで簡単な地図のサンプルを作成してみる。 今回作成したサンプルはこちら、Swiftはやっぱ楽しい。次はMapをカスタムしてみよう。 github.com gist.github.com
Playground上でAlamofireなど、その他ライブラリをimportして開発したいと思ったのでその時の作業ログ。Xocdeでの作業はどうしてもBuiid時間で待たされるので、Playground上からUIを確認しながら開発できると便利そう。 環境 Xcode Version 7.3.1 (7D1014) …
realm.io github.com まずは、簡単にデータをinsertするサンプル。 func testInsert1() { let myDog = DogModel() myDog.name = "Muck" } func testInsert2() { _ = DogModel(value: ["name" : "Pluto", "age": 3]) } func testInsert3() { _ = DogModel(val…
swiftで滑らかなグラフが作成できるScrollable-GraphViewを試してみる。 Barチャートの作成は以下のようなコードで可能。 private func createDarkGraph(frame: CGRect) -> ScrollableGraphView { let graphView = ScrollableGraphView(frame: frame) graphV…