2019-09-01から1ヶ月間の記事一覧
概要 PageViewControllerはデフォルトで左右のスワイプの他、View両端のタップも検知し、befor、afterメソッドを着火している。 スワイプのみ検知し、View両端のタップは無効とするよう処理を施す。 実装 PageViewControllerに登録されているUITapGestureRec…
概要 MapKit Annotationのマーカーカラーをannotationの状態によって変更する。 MKPointAnnotationでは、マーカー座標、タイトル、サブタイトルの指定しか行えないので、MKPinAnnotationView、MKMarkerAnnotationViewを使用する。 MKPointAnnotationの拡張ク…
nendの広告枠の承認を頂いたので、Androidアプリに設定を行っていた。 SDKの組み込み自体はマニュアルを見ながら簡単に行え、テストAdの表示まで順調に完了できた。 ところが、本番用のapikeyとspot idに差し替えてみたところ、広告表示が行われない... で、…
概要 WebViewでロードしたページの広告表示を制限する Hacking up an ad blocker for Android | Ha Duy Trung’s Blog こちらのページを参考に実装を行った。 ミュートする広告配信ホスト一覧の取得 https://sites.google.com/site/hosts2ch/ja より日本国内…
いつも忘れるのでメモ。 let date = Date() formatter.dateFormat = "MM/dd HH:mm" string = formatter.string(from: date)
最近、YouTubeの打ち切り学会チャンネルにハマっている。 少年漫画、稀に少女漫画の早期連載終了した漫画を集めて、辛辣かつ暖かく?解説しているYouTubeチャンネルだ。 www.youtube.com チャンネル主は解説と共に、少年ジャンプでのスポーツ漫画、急に始ま…
2004年頃かな。「彼女が死んじゃった」というドラマが放映されていた。 劇中の音楽がどれも良かったが、ゆかりが生前作詞した曲、5:55がとても心に響いた。 静かな夜、一息ついた時によく聞きたくなる。 ドラマ自体は謎の自殺を遂げたゆかりが残した携帯電話…
インターネットが身近になり、それを利用できるデバイスも個人が簡単に使用できるようになって、誰でも発信、発言できるような時代になった。 特にSNS上の発信はすごくて、政治経済、思想の話題以外にも、日々の楽しい話題や勉強になる話題、またはあるある…
楽しみにしてたボーダーランズ3 購入後初日の感想。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)}; c.get…
7月の頭にいくつかのAndroidアプリをリリースして、約2ヶ月が経過した。 www.letitride.jp 経過記録 で、どういった状況になっているかというと、ゲーム系RSSアンテナ情報アプリがやはり強い。 FF14、DQX、モンハン、ゲーム総合の4つが伸びた。 強い、といっ…
概要 CoreDataのpredicateに複数条件の指定を行う。 ユーザの入力等によって動的に条件を生成する場合に使用する。 実装 NSCompoundPredicate(andPredicateWithSubpredicates: [NSPredicate])をpredicateに渡すことで複数の条件を渡すことができる。andPredi…
概要 FSCalendar表示時に初期選択日を設定する 実装 FSCalendarはstoryboard上からoutlet接続されているものとする。 selectメソッドに表示時の指定日とするDateオブジェクトを渡せばよい。使用しない場合は現在日が表示時の選択日となる。 import FSCalenda…
概要 UICollectionViewのcellサイズを中のコンテンツサイズに応じて自動調整する。 下イメージではUIButtonを横スクロールするUICollectionViewに並べた。UIButtonのサイズだけ、cellの横幅を自動調整している。 estimatedItemSizeを指定すると楽に設定する…
backitemの変更 遷移先ではなく遷移元で設定する必要がある。 遷移元のViewController override func viewDidLoad() { super.viewDidLoad() self.navigationItem.backBarButtonItem = UIBarButtonItem(barButtonSystemItem: .cancel, target: nil, action: n…
概要 UISegmentedControlを選択してない状態にする。 設定方法 selectedSegmentIndexに.noSegmentを指定する UISegmentedControl.selectedSegmentIndex = UISegmentedControl.noSegment
概要 UIPageViewControllerの始点、終端のページを設定する。要は「これ以上はページをめくれないよ」という設定。 UIPageViewControllerはTableViewなどとは違ってcountを返すメソッドがないので、before、afterのメソッドで前後のページがあるか否かの判定…
概要 UIPageViewControllerDataSourceのviewControllerBeforeとviewControllerAfterメソッドで前後のViewControllerを切り替える場合、両メソッドはジェスチャ途中で発生する為、予期せぬプロパティの保持結果となってしまうケースがある。 ダメなケース 下…
概要 NavigationControllerから遷移した時の遷移元ViewControllerを取得する。 戻る遷移時に遷移元に値を渡したい時なんかに使える。 NavigationControllerからModal遷移時の戻る //self.presentingViewControllerはNavigationControllerが格納 let nvc = se…
Swift Dateオブジェクトから時間以下を切り捨てる dateComponentsを使用する。 let calendar = Calendar.current let comps = calendar.dateComponents([.year, .month, .day], from: Date()) let truncateDay = calendar.date(from: comps)
概要 TableViewのcellの要素のサイズが動的に変更される時のcellの高さを自動で調整する。 cellの高さを変更する手法 まずはcellの高さを変更する手法から。 autolayoutが適切に設定されていて、制約からcellの高さが導き出せる時は、 override func viewDid…
概要 既存のCoreData Entityのカラムに対してindexを作成する方法。 失敗ケース ios - Why Xcode does not show index options for CoreData entities and attributes? - Stack Overflow ios - Core data indexing in iOS11 - Stack Overflow を参考にしなが…