iOS

Master-Detail template で Prototype Cells を変更する方法

Master-Detail template を使っていると、Prototype Cells というのが表示されて、あーここにセルの内容を表示するのね、というのはわかるのですが、変更しようとするともう大変。さっぱりやり方がわからない。色々調べたところ、次の通り。 1. Master の Ta…

Master-Detail template で tabBarController を追加する方法 (4)

このネタで 4 回も書くとは思ってもいなかったのですが、より良い方法があったので、後学のため書いておこうと。 Master-Detail template に tabBarController を追加するのにどこに追加するのか?という問題があり、さらに、いい加減に追加しても、error に…

Master-Detail template で tabBarController を追加する方法 (2)

やっぱりハマりました。Master-Detail template で、rootView が splitViewController になり、そこに tabBarController を追加したくてしたくてたまらなかったのですが、オレオレでやってみたら detail に画面遷移した折に navigationBar が表示されない事…

Master-Detail template で tabBarController を追加する方法

久しぶりにはまりました。Master-Detail template はよく出来ていて、手を入れる必要がある個所が分かってくれば凄く便利なんです。 でも、TabBar を追加しようとすると状況が一変してしまう。まず、TabBar の追加の仕方がわからない。さらに、storyboard に…

navigationController の delegate method

Detail から detailDetail に画面遷移し、navigation ボタンで Detail に戻ってくる時 delegate method はないのか? 事の発端は、戻ってきたとき tableView の内容が更新されない事態で困ったなと。 調べてみたらちゃんとあった。Detail に戻ってきた後に呼…

Segue の kind で指定できる内容の違い

Segue 接続して次の画面に遷移する場合ですが、Attributes Inspector を表示すると、kind とというリストがあり、そこで画面をどのように表示するか指定できる。 遷移したら navigation Item が表示されなくなったぞ?と思っていたら、Show あるいは Show Dt…

UISwitch の反転

UISwitch の変更があった場合、値をどうやって設定するか。現在の値は property on で取得できます。mySwitch.on のような形です。現在の値を取得できることから、if 文で分岐するやり方を思いついたのですが、あまりスマートではないなぁと・・・こんな感じ…

Class method と Instance method について

アプリを作っていて、画面ごとに(というか ViewController ごとに)source が分かれるのですが、あ、この method 前の画面でも使ったなぁということがあります。今回遭遇したのは、field に数字を入力したら自動的にカンマをつける、データを保存するときは…

UIProgressView にハマる・・・

あるフィールドに値を入れたら、UIProgressView の表示も更新したいと思い、 ・アニメーションなしなら、progressView.progress = xx; ・アニメーションありなら、[progressView setProgress:xx animated:YES]; アニメーションの有無を指定できるところが、i…

CoreData: Master-Detail の detail 処理について

CoreData を使用するテンプレートで Master-Detail があり、とっかかりは重宝するのですが、立て込んだことをしようとすると色々わからないことが多い。 今日分かったのは、Detail の record 編集について。 Master から Detail の ViewController に移動し…

CoreData Orded の処理

CoreData をいじっていたら、Orderd というチェックボックスがあることに気づいた。 名前からして、n 側の並び順を維持してくれるんじゃないかと期待が高まります。早速使ってみたら error 発生。なんで? 通常、n の record を取り出すには、array に突っ込…

nib but the view outlet was not set. の解決方法

Master-Detail アプリケーションで、Detail にさらに tableView を配置し customCell を設定しようとするとエラー発生。 tableView のデリゲートは設定済。必須のメソッドも実装済。これね、すごい根深い問題がありますね。ViewController のファイル名と、x…

Interface Builder Cocoa Touch tool の暴走

高額であったが、MacBook 12 inch の電池交換を行い、快適生活かと思ったら、なんだかあんまり実感がないというか、電池の減りがやたら早い。交換したのに改善がないのか?と思いつつも、そう言えば底がやたら熱い。どうやら何かが CPU を酷使している感があ…

Xcode 9 の Master Detail テンプレートはだいぶマシだが、custom cell は相変わらず使いにくい

新しいアプリを作るため、Master Detail テンプレートを使い、Core Data でデータを貯める形を取ろうと、いろいろ試行中。前にもハマったのですが、Master の表示項目を変更しようとすると、一気にハードルが上がる。 まず、UILabel を配置してもうまくいか…

感謝祭のため審査に時間がかかる・・・思ったほど時間がかからなかった。

iTunesConnect にログインすると、「感謝祭のため審査に時間がかかる」というような内容が表示され、偶然とは言えタイミング悪いなぁと思っていたのですが、土曜日の午前中に審査して月曜日の朝 6 時に審査が終わって redy for sale になり、案外早かったな…

Core Data でデータを削除する方法が変わったんですね、Xcode 9

Core Data でデータを削除する時のやり方ですが、今までは for 文の中で deleteObject みたいな形で実装していたのですが、persistentContainer を使うようになってから、同じやり方をしてもダメだと、削除されないと、下位互換は無視すると。エラーにもなら…

Master Detail テンプレートの調整

Auto Layout の調整もひと段落して、さて、動作検証でもしましょうかと iPad の simlator を立ち上げたら、iPad では勝手に splitView で表示されるのですね。そういえば、Main.storyboard でも、一番はじめのが UISplitViewController なので、なんか新しく…

App を提出したら却下されたので、新しい build を iTunesConnect に提出

App を提出したら却下。理由は、多様なデバイスに対応する必要があります、ついては、Developer conference の Auto Layout のビデオでも見て習得してください、とのメールが・・・ ビデオ見て学習しましたが、正直サッパリでした。ので、『よくわかる Auto …

stack view の中に tableView を入れると落ちる

Xcode のバグのせいで、Main.storyboard が開けなくなり、已を得ず作り直したことは以前書いた通りです。 その後、落ちる条件がはっきりとわかりました。stack view の中に tableView を入れると、no answer になり、Xcode を強制終了するしかないように・・…

Custom Cell は難しいね。

Custom Cell は難しい。 何が難しいかというと、設定方法がよくわからないのと、method の書き換えがよくわからない。 製作中の code が飛んでしまったので、已む無く作り直しているのですが、今回ハマったのは、custom cell の部分。Table View で一覧表示…

UISearchBar と UITableView

アプリを作っていますが、Xcode のバグ、具体的には Interface builder で、stack view を多用すると帰ってこなくなる現象のせいで storyboard が壊れてしまい 5 回ほど作り直さざるを得ない状況になり、作成済みの source からせっせと移植しています。 苦…

managedObjectContext は何処へ・・・

Xcode 8 辺りから CoreData の扱いが変わり、model を更新しても自動で改訂がかかるため .h をわざわざいじらなくてもよい、便利だねってのは分かっていたのだが、プログラム側にも変更があったのは知らなかった。 具体的には、managedObjectContext は何処…

5 回も作り直すと正直萎えるが、復習になって良い面もある

Xcode 9 のバグのせいで、具体的には InterfaceBuilder で stack view を積み重ねると複雑になってしまい処理がおかしくなって結局 storyboard が開けなくなってしまう現象があり、結局 5 回目の作り直し。 萎えてしまいますが、実は、Apple に申請したら、…

Xcode 9 storyboard から h ファイルに drag して connect したら error...

Xcode 9 で ViewController を新設し、Class 化した m と h ファイルを作成。storyboard から h ファイルに object を drag して connect したら error... Xcode 9 storyboard から h ファイルに drag して connect したら error... Could not insert new ou…

Xcode 9 と git と gitlab

Xcode では以前から git を使った source 管理が出来ます。github にソースを置くこともできるのですが、licence の都合、source を public にしないと無料では使えません。private はお金がかかるということで、git の clone はないかと色々探していたら、g…

Interface Builder: Text View を配置すると、制約エラー

Main.storyboard でレイアウトしていて、Scroll View は一つの鬼門というか、一般原則が通用しないことがあるので注意が必要。 今日遭遇したのは、Scroll View > View > Text View と配置し、『よくわかる Auto Layout』に倣い、text view の上と左右に制約…

CoreData がもっと便利にって、知らなかった・・・

CoreData 使っています。 storyboard ファイルが吹っ飛んでしまい、やむやむ新規プロジェクトから作り直すハメに・・ まずは CoreData の model を作って、次に、Editor > Create NSManagedObject Subclasses... を選択して自動的にファイルを作ってと。慣れ…

Main.storyboard 逝く・・・

制約を色々追加していたら、昔色々試作していたらのがあだになったのか、カーソルがぐるぐる回って Main.storyboard が表示されなくなる。こうなると Xcode はあらゆる操作を受け付けなくなる。困った。アプリ強制終了、アプリ再起動を繰り返しているうちに…

よくわかる Auto Layout は良書

よくわかる Auto Layout (ISBN: 978-4-86594-032-9) は良書。 Xcode で新しく採用された Auto Layout。便利だということは分かっているけれども、今ひとつ使い方がよくわからない。いつもテキトーにやって、うまくいったり、いかなかったりしていたのですが…

CLLocation から MKCoordinateRegion にするには・・・

CLLocation のデータを、MKCoordinateRegion データにするにはどうするのでしょう。 色々調べたところ、 CLLocationCoordinate2DMake(0.0, 0.0); みたいな関数があり、え、CCLocation から x, y みたいな感じでプロパティ取り出すの? え?分かんね・・・と…