タグ

iOSに関するabetomotomoのブックマーク (172)

  • わだjective-C UIViewの絶対座標

    iOSのプログラミング 自分用Objective-Cのメモを書いたりします iPhone/iPod touch/iPad アプリケーション制作 UIViewの絶対座標って知りたいときありませんか? 例えばボタン(UIButton等)を UIView* buttonView; 等のbuttonViewの中にaddsubviewしてボタンを管理するとき (0,0)の位置からのボタンの座標がわかりません。 というかこんなかんじに私はこまっちゃったんですね!笑 具体的にはUIPopoverControllerの指し示す座標を、一番親のビューから指し示す時に困っちゃいました! この例だとinViewのところでbuttonViewをさせばいいんですけど、とある事情でこうなりました! もしかしたら標準で何か用意されてるかもしれませんが、 「UIView 絶対座標」 「UIView ローカル座標」 ここら

  • UITableViewのセルを選択した時にチェックマークをつける - makoラボ

    上の画像のようにUITableViewを使って選択肢を表示するようなUIを使うことって案外あるんですよね。 その時にはほぼ必ずチェックした事を示すためにチェックマークを付けると思います。 今回はチェックマークを選択された時にをつけたりはずしたりする方法を書いていこうと思います。 UITableViewの複数選択と単一選択 ちょっと題に入る前にUITableViewの選択モードについて説明を簡単にしておきます。 UITableViewでは複数選択モードと単一選択モードがあります。セルを複数選択したり、一つだけ選択出来るようにしたり出来ます。 設定の切り替えは簡単でStoryboard上であればUITableViewのプロパティの「Selection」で「Multiple Selection」または「Single Selection」をそれぞれ指定する事で切り替えれます。ちなみにコード側で設

    UITableViewのセルを選択した時にチェックマークをつける - makoラボ
  • Auto Layoutをコードで記述する – morizotter blog

    前からやりたいと思っていたAuto Layoutのコードでの記述ですが、今日ちょっと調べてみたところ意外とすんなり行きました。こちらのブログのお陰です。ありがとうございます!これで、Xibで作成した使い回しビューを画面に配置した時もうまい具合にAuto Layout適用できます。気持ちが楽になった! せっかくなので自分の記憶を定着させるためにも簡単にまとめてみたいと思います。 簡単な説明 addConstraint: ビューにconstraintを追加する.UIViewのインスタンスメソッド。 addConstraints: ビューに複数のconstraintを配列形式で追加する。UIViewのインスタンスメソッド。 setTranslatesAutoresizingMaskIntoConstraints: AutoresizingMaskをConstraintsに変換して利用するか。NO

    Auto Layoutをコードで記述する – morizotter blog
  • Scroll View(UIScrollView)でのAutoLayout設定

    Xcode の Storyboard で Scroll View(UIScrollView)を使おうとしたところ、Scroll View に対する AutoLayout の設定が難しくてちょっとはまったので備忘録メモです。Constraints(制約)の警告が消えなかったり、ビルドしたらスクロールしなかったりと、色々試行錯誤してしまいました。 以下のエントリー等のおかげで解決できました。ありがとうございます。 【UIScrollView × Autolayout 問題】Appleエンジニア直伝のファイナルアンサー – Over&Out その後 iOS: How To Make AutoLayout Work On A ScrollView UIScrollView and Autolayout – Xcode 6 – YouTube 3番目 Youtube リンク先が、Xcode での操作

    Scroll View(UIScrollView)でのAutoLayout設定
  • [iPhone] UITableView を所定の位置までスクロールさせる | Sun Limited Mt.

    久しぶりに iPhone アプリネタです。UITableView を指定した場所までスクロールさせる方法です。 どの方法も NSIndexPathUITableView のセルの位置を指定して、UITableViewScrollPosition で指定したセルを UITableView のどの位置に持ってくるかを指定します。これによって、指定したセルを UITableView の一番上や一番下、真ん中などを指定することが可能です。 セルを指定してスクロールさせる NSIndexPath* indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; [tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop ani

  • UIScrollViewとAuto Layout その1 – 画像表示 | Cyber Passion for iOS

    今回はUIScrollViewとAuto Layoutの組み合わせについてです。ここでハマっている人は多いのではないでしょうか。私も見事にハマリました。その経験から、きちんと動作させる方法を解説したいと思います。 ※ 文中のIBはInterface Builderの略です。 以下のリンクのAppleTechnical NoteUIScrollViewとAuto Layoutの併用について書かれています。 UIScrollView and Autolayout Mixed Approach(非Auto LayoutとAuto Layoutの組み合わせ)とPure Auto Layout Approach(Auto Layoutのみ)の2種類説明されていますが、後者に絞りたいと思います。スクロールの中身のサイズが可変する時も含めると、Pure Auto Layoutで対処したほうが確実で楽

    UIScrollViewとAuto Layout その1 – 画像表示 | Cyber Passion for iOS
  • 【Objective-C】 Auto Layout + Storyboard で高さ可変のUITableViewCellを作成する

    はじめに 高さ可変のテーブルビューセルを作成する方法はいくつかありますが、今回は「Storyboard」上で「Auto Layout」を設定することで実現してみます。環境は以下の通りです。 Xcode 5.1.1 SDK 7.1 Development Target 7.0 完成図 ↑こんな感じに仕上がります。 「Master-Detail Application」テンプレートに手を加えていきます。「Master-Detail Application」は画面上部のプラスボタンを押すと、現在時刻を表示するセルが増えるサンプルですが、セルのラベルを2つに増やし、高さが可変のラベル(ランダムな文字列を表示)と高さ固定のラベル(時刻を表示)が表示されるようにします。また、ラベルの高さに合わせてセルの高さも変わるようにします。 実装 プロジェクト作成 XcodeのFileメニューから New → P

    【Objective-C】 Auto Layout + Storyboard で高さ可変のUITableViewCellを作成する
  • UITableView cell の選択を無効にする

    次のHTML タグと属性が使えます。 <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    UITableView cell の選択を無効にする
  • Auto LayoutでViewを均等に並べる方法 | hlog

    今日は同僚のiOSエンジニアに、Auto Layoutの問題を出されたからやってみた。 お題はごく初歩的なもので、Auto LayoutでViewを3つ均等に並べるというものだ。 手順としては、 1. 適当にViewを配置する。 2. コピーして3つ横並びにする。 ※配置後それぞれのViewの背景色を変えておくとわかり易い。 [Show the Attributes inspector]から変更できる。 3. 3つを選択し、[Pin]ボタンをクリック。 4. Heightを適当な数字に指定。Equal Widthsにチェックを入れる。 左右の余白を0にする。 5. [Align]ボタンをクリックする。 6. Vertical Center in Containerにチェックを入れる。 以上で制約の入力は完了。 7. [Resolve Auto Layout Iss

  • カスタムViewをNibから初期化し、IBDesignableとIBInspectableで便利に使う - Think Big Act Local

    iOS開発をしていると、独自のViewを作りたい場合があります。 実現する方法は色々あると思うのですが、最近自分がやっている方法をまとめます。 (以下で実装しているコードは GitHub にすべてあげています) 目指すゴール Storyboard / Interface Buidler から初期化できる コードからも初期化できる IBDesignable & IBInspectable に対応している 各画面から使いやすい(汎用性が高い) 上記を満たすカスタムViewを目指します。 こんな感じの、ユーザーにレビューをお願いするViewで、 ↓みたいにStoryboard上から値をセットできるものを作ってみます。 実装の流れ 1. カスタムViewのxibとクラスを用意する (1) xibを作成 MyCustomView.xib というファイルを作成します。 Size を "Freeform

    カスタムViewをNibから初期化し、IBDesignableとIBInspectableで便利に使う - Think Big Act Local
  • Google I/O 2016 で「Firebase」の新バージョンが発表!プッシュ通知機能を iOS アプリで使ってみた | DevelopersIO

    Firebase とは 日(2016/05/19、日時間)より開催されている Google I/O 2016 にて、モバイル向けのサービス群「Firebase」の新バージョンが発表されました。ログ解析ツール「Firebase Analytics」やプッシュ通知サービス「Notifications」が無料・無制限で利用できるところが注目を集めています。 Google Developers Japan: Firebase を拡張、統合アプリ プラットフォームとして登場 [速報]Google、モバイルアプリ用ログ解析ツール「Firebase Analytics」の無償提供を発表。ノーティフィケーションも無制限に無償で提供。Google I/O 2016 - Publickey 記事では iOS アプリへの Firebase の導入とセグメント通知を試してみました。 Firebase の導入

    Google I/O 2016 で「Firebase」の新バージョンが発表!プッシュ通知機能を iOS アプリで使ってみた | DevelopersIO
  • Swiftのコードレビュー勘所 - 文字っぽいの。

    はじめに Swift with iOSなコードをレビューする時に僕が気をつけて見ているところをざっくりまとめました 今年からSwift始めます!って人が読めばクラッシュしやすいコードを書きにくくなるはず ロジック面についてもちゃんと確認しましょう 勘所 AnyObject使ってる 不適切に使われてる(型を消すとか)場合には絶対に直させる。型を消したい場合は protocol + typealias とかgenerics でなんとかできる場合が多い。というか AnyObject を使ってるコードでは、型を消す必要がない場合が多い。 配列にindex指定してアクセスしている let item = items[index] とか。基的にはindexなど使わずにアクセスするのが一番なので、書き直せないか確認する。 書き直せない場合はロジック自体の設計を変えられないか、もしくははみ出ない処理がちゃ

    Swiftのコードレビュー勘所 - 文字っぽいの。
  • これから iPhone アプリ開発に携わるのであれば覚えておきたい最低限のこと | DevelopersIO

    iPhone アプリを作ってきて 私が iPhone アプリ開発を始めてからおよそ4年が経過しました。 その間に得た知見の一部を紹介致します。 この記事の対象読者は以下の方を想定しています。 これから iOS プログラミングを始めたい方 今まで格的に iPhone アプリを作ってはいないけれども、興味がある方 開発の事はよくわからないけれども、アプリのプロモーションなどを担当している方 これから iPhone アプリ開発に携わるのであれば覚えておきたいこと 言語について モダンな書き方をする → Objective-C でもジェネリクスなどを積極的に使う 冗長な書き方をしない → [[Class alloc] init] は [Class new] と同等 SwiftGitHub の Release や Issue などを追う → オープンソースの活用 豊富なOSSを活用する →

    これから iPhone アプリ開発に携わるのであれば覚えておきたい最低限のこと | DevelopersIO
  • 【iOS】スクロール可能なメニューバーを持つViewControllerをオープンソースとして公開しました | Recruit Tech Blog

    概要 スクロールできるメニューバーとスワイプで画面を切り替えることができるViewControolerのコンテナを、オープンソースとして公開しました。 recruit-mp/RMPScrollingMenuBarController | GitHub We published RMPScrollingMenuBarController by open source. RMPScrollingMenuBarController has a scrollable menu bar, and multiple view controllers for iOS. ニュース系アプリでよく使われているUIで、弊社の料理サプリのiOSアプリのトップ画面でも使用しています。 何はともあれこちらのgifアニメをを見てもらったら分かると思います。 自己紹介 記事がはじめてなので題の前に少し自己紹介を。 リ

    【iOS】スクロール可能なメニューバーを持つViewControllerをオープンソースとして公開しました | Recruit Tech Blog
  • iOSアプリ開発に役立つWebサービス&ツールまとめ - NSBlogger

    はじめに iOSアプリ開発をしていて役立つWebサービスやツールがありますので備忘録としてまとめてみました。アプリ開発を始めるところからリリース後までを順番に書き並べています。ぜひiOSアプリ開発をしている方は参考にしてください。(Androidアプリ開発している方にも使えるものはあると思います。) UI/UXを考える プロトタイプを作成する アプリを作る前にデザインをまず決めますよね。その際に、実際にスマホで閲覧したときにどのように見えるのか、どのようなインタラクションにするかを議論します。そんなときに便利なプロトタイプ作成サービスがあるので、いくつか載せておきます。 サービス URL Justinmind http://www.justinmind.com/ Flint for Mac https://www.flinto.com/mac POP https://popapp.in/

    iOSアプリ開発に役立つWebサービス&ツールまとめ - NSBlogger
  • Objective-Cでsleep - 日々精進

    以下のコードでSleepさせられるらしい。なるほど //次のメソッドの実行を0.5秒遅らせる(AAAがログに表示されるのが0.5秒遅らせる) [NSThread sleepForTimeInterval:0.5]; NSLog(@"AAA"); 参考:http://superdiszo.sakura.ne.jp/WP/?p=133

    Objective-Cでsleep - 日々精進
  • CoreData でマイグレーションエラー - 日々是笑心

    CoreData を試して最初につまずいたのがこれ。1個エンティティを追加しただけなのに、いきなりエラーかよ(怒)! 2010-07-10 13:42:23.939 Locations[1817:207] Unresolved error Error Domain=NSCocoaErrorDomain Code=134100 "The operation couldn’t be completed. (Cocoa error 134100.)" UserInfo=0xb32a1b0 {metadata={type = immutable dict, count = 6, entries => … 中略 , reason=The model used to open the store is incompatible with the one used to create the store

    CoreData でマイグレーションエラー - 日々是笑心
  • Cocoaの日々: CoreData - マイグレーションを考慮した CoreDataManager パターン

    CoreData を使うアプリであればこの程度の件数はすぐに行くので、起動時にマイグレーションが走ると確実に落ちてしまう。これを防ぐためには起動時に CoreData へアクセスさせないのが最低限の対策になるが、その場合でもユーザが CoreData へアクセスする操作を行った瞬間にマイグレーション処理に時間がかかって画面が固まったようになるのでユーザビリティは良くない。 マイグレーションを考慮したパターン よって CoreDataを使うアプリではマイグレーション用の画面を用意するのがベスト。処理フローはこんな感じ。 起動 ↓ (1)マイグレーションチェック もし必要なら、マイグレーション用の画面へ遷移し、(2)マイグレーション実行 ↓ 通常画面マイグレーションチェックは NSPersistentCoordinator を使えばわかる。 Cocoaの日々: [iOS][Mac] CoreD

    Cocoaの日々: CoreData - マイグレーションを考慮した CoreDataManager パターン
  • iOS9 SDKでDeprecatedになるもの。 - なるようになるかも

    UPDATE(2015/09/26):この文書はDeprecatedという単語の使い方が雑なのでDeprecatedになりました。 こちらの記事を参照した方が得るものがあるかと思います。 qiita.com 新しいAPIの誕生より、APIの滅びの方が好きです。なぜならそこには失敗があり、学びがあるからです。 developer.apple.com …とか適当に言ってみましたが、iOS9のAPI Diffは、Swift2.0絡みの変更点(主にNSErrorに対応するenumの追加と、後述するビットマスクの扱いの変更)だらけで、当に変わった場所がどこなのか分かりにくいので、ちゃんと調べてないです。 AudioUnitOSXに追いついたCoreAudio周りが熱いような…。CFunctionPointerの魔窟だったCoreMIDIなんかは刷新と言っていいレベルで変わっていますね。でも今のA

    iOS9 SDKでDeprecatedになるもの。 - なるようになるかも
  • iOS9向けアプリ開発時の注意点

    Android, iPhone等のスマートフォン向けアプリ開発などの話題を中心に、時事ネタなどを気の向くままに書いています。 iOS 9がリリースされて少し経ちましたが、iOS 9対応は済んでいますでしょうか? ウチの場合は、iOS 9がベータ版の時から対応を進めていた為、比較的早めにノウハウを蓄積したつもりでしたが、正式版リリース後も色々と手間取りました。 去年まとめた「iOS8向けアプリ開発時の注意点」には大変多くの反響を頂き、ありがとうございました。 そこで、今年も備忘録を兼ねてiOS 9対応の注意点をまとめたいと思います。 間違い等がありましたならば、ご指摘下さい。 なお、このページに記載されている内容が原因で損害を被ったとしても一切補償はしません。 ちなみに、このページのテキストの原文は、超高機能テキストエディタアプリ「Wrix」と超高機能ファイル管理アプリ「NeoFiler」の

    iOS9向けアプリ開発時の注意点