はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    WWDC25

『Selection 9』

  • 人気
  • 新着
  • すべて
  • UIViewのframeとboundsプロパティの違いについて

    6 users

    selection9.blogspot.com

    簡単に言ってしまうと、frameとはsuperviewを基点に考えた座標系です。boundsとはローカルviewを起点に考えた座標系になります。 左側の図はviewの左上の原点が(0, 0)の幅150、高さ200のview。 右側の図はviewの左上の原点が(50, 50)で同サイズのview。 viewのframe値に関係なくboundsは自身の座標系を示すので常にoriginは(0, 0)を示していますね。sizeはframeもboundsも同じ値で(150, 200)です。 この例ではboundsのoriginはframeのoriginに影響を受けない事は分かりますが、そこまでしか分かりませんね。実はviewを拡大縮小・回転してみるともっと違いがはっきりとして来ます。以下で回転した場合の例を示します。

    • テクノロジー
    • 2017/04/05 04:53
    • frame
    • iOS
    • あとで読む
    • bounds
    • UITableViewのセルの高さを動的に計算するSelf-Sizing Cellsを試してみた(iOS8, Swift)

      10 users

      selection9.blogspot.com

      UITableviewCellの高さを動的に変更する実装はiOS7の頃(?)から可能で、iOS8では実装が簡略されてさらにパフォーマンスが高いよといったお話です。 iOS7では主に以下の実装が必要でした。 AutoLayoutを有効にしてConstraintsを設定 tableView:heightForRowAtIndexPath: メソッド実装によるセルの高さ計算 tableView:cellForRowAtIndexPath: メソッド実装 iOS8の場合、 2番目の高さを計算する処理がまるっと省略可能で、おまじない程度の設定で済みます。

      • テクノロジー
      • 2015/01/21 18:28
      • ios
      • Xcode6ではStoryboardで指定するSegue名が変更されている

        3 users

        selection9.blogspot.com

        Xcode6ではSegue名が変更され、以前まで使用していたpush, modal等のSegueはDeprecated Segueとなり非推奨となってしまいました。互換性のために残されていると考えられるので、今後は新しいSegueを使用した方が良いでしょう。

        • テクノロジー
        • 2014/11/13 13:27
        • Swift環境からObjective-Cで書かれたCocoaPodsを使用する<br />(SwiftでFMDBを使う)

          5 users

          selection9.blogspot.com

          まずは、空プロジェクトを作成し、そしてすぐに閉じます。CocoaPodsでFMDBを取り込むプロジェクトファイルだけを前もって作成します。

          • テクノロジー
          • 2014/10/08 01:57
          • UIScrollViewDelegateの実装とスクロールイベントの通知について(iOS)

            7 users

            selection9.blogspot.com

            UIScrollViewクラスにはそのスクロールイベント等を通知するdelegateが定義されており、 プロトコル UIScrollViewDelegate として定義されています。 delegateの各メソッドが呼び出されるタイミングについて、以下にまとめたいと思います。 そもそもUIScrollViewDelegateは何のために使われるのでしょうか?よくUITableViewControllerを利用しているアプリでNavigationBarやToolBarがスクロールに応じて表示/非表示されるものがありますが、そのようにスクロールのイベントに応じて何かしらのアクションを実行したい場合に利用出来ます。

            • テクノロジー
            • 2014/07/06 11:07
            • ios
            • イベント
            • アプリ
            • iOSでOAuth2認証を行う(feedlyクライアントの作成)

              13 users

              selection9.blogspot.com

              The feedly Cloud APIが一般公開されていることはご存知の方は多いと思うが、APIを利用している方は そう多く無いのではないだろうか。 The feedly Cloud APIはsandboxという形式で開発者に開発用環境を提供している。 開発の序盤はこの開発環境を使用してAPIの使用方法やアプリの動作確認を行い、 その後リリースする準備が出来たら本環境で利用可能なクライアントIDを払い出してもらう という流れになると思う。(本環境に対応したクライアントIDの払い出しは別途Emailで申請する必要があるようだ) The feedly Cloud APIを使用するにはまずOAuth2認証が必要だ。これが一番厄介で(昔よりは良くなっている) 認証さえ済ませてしまえば、後はAPIを呼び出して必要な情報を取り出し、好きなように処理すれば良い。 iOS用のOAuth2ライブラリが存在

              • テクノロジー
              • 2014/04/07 19:09
              • feedly
              • api
              • ios
              • dev
              • *programming
              • *web
              • iphone
              • あとで読む
              • Resource Bundle/リソースバンドル

                3 users

                selection9.blogspot.com

                プロジェクトへ追加したリソース(画像ファイルやデータファイル等)ファイルへのパスの取得方法です。 今まであまり理解しておらず、誤った方法で強引にパス情報を取得してしまっていたので、リファレンス見ました。 因みに誤った方法ですが、、、NSHomeDirectory()でホームディレクトリを取得して、その文字列の後に XXX.app/resource.xmlとかをアペンドして強引にリソースパスを生成していました(汗) ただ、色々な方法があるらしく以下の方法が全てでは無いと思います。 例えばプロジェクトに「IMG.jpg」という画像ファイルを追加している場合、実行環境でのパスを取得するには 以下のようなコードになります。 NSBundle *bundle = [NSBundle mainBundle]; NSString *path1 = [bundle pathForResource:@"IM

                • 暮らし
                • 2014/02/14 18:35
                • iOS7 NavigationControllerには標準でスワイプで戻る機能が実装されている(メールアプリ、メッセージアプリ等の便利技)

                  5 users

                  selection9.blogspot.com

                  iOS7 NavigationControllerには標準でスワイプで戻る機能が実装されている(メールアプリ、メッセージアプリ等の便利技) iOS7になってApple標準アプリのメール、メッセージ、設定等がスワイプ(左端→右)で戻れるようになっています。 スワイプで戻れるようになって、左上のNavigationItemボタンに指が届きにくいと思っていた方にはかなり便利な機能実装だと思います。 私自身、左上ボタンは押しづらいといつも思っていたので、この標準機能はかなり嬉しいです。 残念なことに、このスワイプで戻るには、かなり意識して画面左端から右へスワイプしないと動作しないようです。知らないユーザも多いんじゃないでしょうか。もったいないなぁ。

                  • テクノロジー
                  • 2014/02/13 10:02
                  • Objective-C
                  • ios
                  • development
                  • iPhone
                  • Mac OSでstrace(あれ?存在しないぞ)

                    9 users

                    selection9.blogspot.com

                    ちょっととあるプロセスが気になったのでstraceで調べようと思ったのですが、Macにstraceは存在しないみたいです。 mac portsにも無い。うーん。 調べていたら以下のコマンドがあったので忘れないようにメモ。 [2013/12/5 更新] straceに代わるコマンドが発行するシステムコールを表示するコマンドとして dtrussというコマンドがありました。 dtruss sc_usage fs_usage 詳細はmanコマンドで調べて欲しいですが、 sc_usageコマンドはシステムコールの統計情報を表示します。 fs_usageコマンドはファイルシステムに関するシステムコールを表示します。 sc_usageは統計情報なので、表示としてはtopコマンドのシステムコール版のようなイメージですね。 fs_usageは指定したプロセスがコールしているファイルシステム等に関するシステム

                    • テクノロジー
                    • 2013/04/03 17:19
                    • command
                    • osx
                    • mac
                    • dev
                    • linux
                    • あとで読む
                    • Objective-C(メソッドのオーバーロード)

                      4 users

                      selection9.blogspot.com

                      Objective-CもC++やJavaと同様にオーバーロードが存在しますがはオーバーロードっぽいことが出来ますが、言語仕様としてのオーバーロードは存在しません。本記事を見るとラベル名を変更すればオーバーロード出来ると記載してますが、Objective-Cでラベル名を変更するということは、異なるメソッドを定義している事にすぎません。 Reference : Method overloading in Objective-C?(stackoverflow) (誤解を招く記載のため修正 2014/02/08 ナヨユキ) 単純な例を示します。クラスAが存在し、それぞれ引数の数が異なるメソッドを3つ用意し、main関数内でぞれぞれの引数が異なるメソッドを呼び出してみます。 /*************/ /* class A ***/ /*************/ @interface A :

                      • テクノロジー
                      • 2013/02/28 01:36
                      • UITableViewController(その1 スタイル)

                        3 users

                        selection9.blogspot.com

                        な感じでしょうか。詳細はそれぞれのリファレンスを参照頂くとして、最低限必要なメソッドはスケルトンにて既に実装されていますので、そのコードを修正していきます。 また、データは配列で持つこととします。 ヘッダはこんな感じでデータ格納用のインスタンス変数を定義しておきます。 @interface MyTableViewController : UITableViewController { //データ格納用配列 NSArray *arrayData; } @end データの初期化は初期化メソッドにでも定義しておきます。 - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) { //データの初期化 arrayData = [NSArray arrayWithObject

                        • テクノロジー
                        • 2012/11/18 00:51
                        • iOS Storyboardによる画面遷移の実装(Modal View)

                          12 users

                          selection9.blogspot.com

                          iOS5になってから登場したStoryboard、今までInterface Builderを使わない派だったこともあって、手を出していなかったのですが、実はず~っと前から気になってたし使ってみたかったんですよ。 私は以下の点でStoryboardを使う理由があると思う。 GUI上の1画面で複数のView Controller定義を記述できる 各View Controller間の遷移をSegue(セグエ)で表現可能でGUI上から編集が可能 アプリケーション全体の画面遷移が一望出来る

                          • テクノロジー
                          • 2012/08/20 19:33
                          • Storyboard
                          • iOS
                          • *programming
                          • プログラミング
                          • ModalView
                          • iOS Storyboardによる画面遷移の実装(Navigation Controller)

                            28 users

                            selection9.blogspot.com

                            「Single View Application」から作成した前回のプロジェクトにNavigationControllerを追加する。 NavigationControllerの追加はオブジェクトライブラリ(右下のやつ)からドラッグしても作成出来ますが、ドラッグして作成すると、なぜかTableViewがもれなく付いてくる。 xcodeでは挿入が出来るのでその機能を使います。挿入したいViewControllerを選択して、メニューのEditor - Embed in- Navigation Controller を選択するとNavigationControllerが挿入される。

                            • テクノロジー
                            • 2012/07/01 13:39
                            • storyboard
                            • iOS
                            • navigationController
                            • ios開発
                            • swift
                            • プログラミング
                            • iPhone
                            • Objective-C(プロトコル)

                              3 users

                              selection9.blogspot.com

                              プロトコルとはJavaでのインタフェースと同様に、オブジェクトの役割や振る舞いを表すメソッドの定義群の事を表します。プロトコルの定義は以下のように行います。 @protocol プロトコル名 メソッド宣言1; メソッド宣言2; ・・・ @end そして、このプロトコルを採用(プロトコルを取り込む事を「採用」と言うようです)するには以下のようにします。 @interface クラス名 : スーパークラス名 <プロトコル名> { インスタンス変数宣言; ・・・ } メソッドの宣言; ・・・ @end スーパクラスに対して、プロトコルを指定する事に対して違和感を覚えますが、Objective-Cは必ずスーパークラスを指定する必要があるので(前記事参照)、あまり深くは考えずにこういうもんだ程度に覚えることにします。 以下にサンプルを載せます。サンプルはPというプロトコルをクラスAが採用しています。

                              • テクノロジー
                              • 2012/06/18 17:13
                              • ios
                              • iOSでSQLiteを使う2(FMDBのFMDatabaseQueueクラスを使ってみる)

                                11 users

                                selection9.blogspot.com

                                FMDBにはスレッド間でSQLiteを使用する際のヘルパークラスが提供されています。そのクラスがFMDatabaseQueueです。 このクラスの用途と、どういったシーンで使用していけば良いのかを考えつつ、サンプルプログラムで試してみます。 因みに、FMDBの基本的な使い方に関しては前回書いた iOSでSQLiteを使う(FMDB) を参照。 FMDBのREADMEにはFMDatabaseのインスタンスをシングルトンにして、マルチスレッド上から唯一のFMDatabaseインスタンスを 取得して使用することは推奨されておらず、一見うまく動いているようでも、いつかはクラッシュしたり、例外が 発生することになるだろうと書かれています。つまり、FMDatabaseクラスはスレッドセーフでは無いということになります。 ちなみに、シングルトンじゃなくてスレッド毎にFMDatabaseインスタンスを生成

                                • テクノロジー
                                • 2012/05/19 17:23
                                • SQLite
                                • Objective-C
                                • iOS
                                • FMDB
                                • UIWindowの生成(Interface Builderを使わない)

                                  3 users

                                  selection9.blogspot.com

                                  UIWindowはiPhoneアプリケーションでの基本的なキャンバスのようなものです。 ですので、画面に何かを描画するには、UIWindowの生成は必ず必要な作業でありiPhoneアプリケーションではUIWindowの上にUIView等のクラスを配置していくイメージになります。また、様々な描画や画面の回転をサポートさせるにはUIViewContorollerを利用します。(ここでは、UIViewControllerに関しては記述しません) UIWindowの生成は以下のように、CGRect構造体でiPhoneが持つウィンドウの領域を表す値を設定します。 //CGRect構造体の作成 CGRect rect = [[UIScreen mainScreen] applicationFrame]; //UIWindowの生成 _window = [[UIWindow alloc] initWit

                                  • テクノロジー
                                  • 2012/05/10 23:13
                                  • iOS
                                  • programming
                                  • iPhone
                                  • Selection 9: iOSでSQLiteを使う(FMDB)

                                    23 users

                                    selection9.blogspot.com

                                    SQLiteのライブラリはC言語のライブラリとして提供されています。したがって、SQLiteの各関数の呼び出しや引数の指定方法、パラメータの型はC言語の文法・型に従う必要があります。 特にC言語への型変換に関して、DBの場合は数値(整数、浮動小数点数)、文字列、バイナリ、日付等様々な型があり、Cocoa TouchからC言語への型変換をSQL実行時と結果取得時に行う必要があるため、結構面倒だったりします。 そんなこともあってか、iOSのSQLiteラッパーライブラリとしてFMDBというライブラリがあり、このライブラリはこの面倒な型変換を全て受け持ってくれるため、この点だけでもFMDBを使う魅力は大いにあると思います。(注:後述しますが、FMDBは型変換だけでは無いです) また、FMDBはARC有効/無効どちらにも対応しています。プリプロセッサでARCの有効状態を判定しているみたいですね。

                                    • テクノロジー
                                    • 2012/04/30 19:03
                                    • sqlite
                                    • iOS
                                    • iPhone
                                    • FMDB
                                    • Objective-cにおける文字列定数について

                                      22 users

                                      selection9.blogspot.com

                                      Objective-cで文字列定数を作成する場合どうしてますか? 多分、簡単に考えるとプリプロセッサを使って以下のように #define CONST_STRING @"const string." でも、C/C++言語的には定数のプリプロセッサ使用は好まれません、2重定義がうざいですからね。 なんというか、誰からも参照可能な反面まったく使用しないクラスにおいても同名で定義する事が 出来なくなります。

                                      • テクノロジー
                                      • 2012/04/27 02:09
                                      • Objective-C
                                      • 定数
                                      • iOS
                                      • *programming
                                      • あとで
                                      • programming
                                      • iOSでXMLを読み込む(Libxml2-DOM)

                                        25 users

                                        selection9.blogspot.com

                                        iOSでXMLをパースするには標準で、 NSXMLParser Libxml2 を使う方法があるようです。外部ライブラリもある様ですが、そのへんは未調査です。 それぞれ一長一短で、NSXMLParserはSAXタイプのパーサです。Libxml2はSAXとDOMタイプの両方を提供しています。 個人的にSAXはフラグを多用するので好きじゃないのとSAXタイプの解析方法は色々と参考に出来るサイトが多々存在したので、Libxml2/DOMでの解析を試してみました。 標準で使えると書きましたが、標準でライブラリは存在するが、標準でライブラリは引きこまれていません。個別に引き込む設定を行う必要があります。 Libxml2ライブラリの引き込み方は以下の方法が一番簡単でした。 プロジェクトを選択して「Build Phases」の設定画面を出します。「Link Binary With Libraries」を

                                        • テクノロジー
                                        • 2011/06/09 10:52
                                        • xml
                                        • libxml2
                                        • iOS
                                        • NSXMLParser
                                        • C
                                        • iPhone
                                        • Selection 9

                                          3 users

                                          selection9.blogspot.com

                                          前回(Lesson2-1)ではブロックベースメソッドを使用した簡単なアニメーション実装について説明しました。引き続き、UIViewクラスのブロックベースアニメーションメソッドを使用したアニメーションについて説明していきます。 CoreAnimation Lesson.シリーズへのリンク。 Core Animation Lesson.(Lesson1) - UIViewとCALayer Core Animation Lesson.(Lesson1-4〜1-6) - CALayerクラスのプロパティ Core Animation Lesson.(Lesson1-7) - カスタム描画 Core Animation Lesson.(Lesson2-1) - 基本のアニメーション UIViewクラスのブロックベースアニメーションメソッド。 [Animating Views with Block O

                                          • 学び
                                          • 2011/03/13 01:48
                                          • Objective-C(メソッド定義)

                                            3 users

                                            selection9.blogspot.com

                                            Objective-CもC++やJavaと同じようにメソッドのオーバーライドがが可能です。特に説明するまでも無く、サンプルを見ていただければ理解出来ると思います。 #import <Foundation/NSObject.h> #import <stdio.h> @interface A : NSObject { int a; int b; } - (id) init; - (int) add; @end @implementation A - (id) init { self = [super init]; if (self != nil) { a = 1; b = 5; } return self; } - (int) add { return a + b; } @end @interface B : A { } - (id) init; - (int) add; //オーバーライド

                                            • テクノロジー
                                            • 2011/02/24 22:10
                                            • programming
                                            • iphone

                                            このページはまだ
                                            ブックマークされていません

                                            このページを最初にブックマークしてみませんか?

                                            『Selection 9』の新着エントリーを見る

                                            キーボードショートカット一覧

                                            j次のブックマーク

                                            k前のブックマーク

                                            lあとで読む

                                            eコメント一覧を開く

                                            oページを開く

                                            はてなブックマーク

                                            • 総合
                                            • 一般
                                            • 世の中
                                            • 政治と経済
                                            • 暮らし
                                            • 学び
                                            • テクノロジー
                                            • エンタメ
                                            • アニメとゲーム
                                            • おもしろ
                                            • アプリ・拡張機能
                                            • 開発ブログ
                                            • ヘルプ
                                            • お問い合わせ
                                            • ガイドライン
                                            • 利用規約
                                            • プライバシーポリシー
                                            • 利用者情報の外部送信について
                                            • ガイドライン
                                            • 利用規約
                                            • プライバシーポリシー
                                            • 利用者情報の外部送信について

                                            公式Twitter

                                            • 公式アカウント
                                            • ホットエントリー

                                            はてなのサービス

                                            • はてなブログ
                                            • はてなブログPro
                                            • 人力検索はてな
                                            • はてなブログ タグ
                                            • はてなニュース
                                            • ソレドコ
                                            • App Storeからダウンロード
                                            • Google Playで手に入れよう
                                            Copyright © 2005-2025 Hatena. All Rights Reserved.
                                            設定を変更しましたx