タグ

objective-cとObjective-cに関するyamashiro0110のブックマーク (311)

  • [iOS][Objective-C]UIScrollViewでスクロールしない件

    UIViewControllerでスクロールを行ないたいので、UIScrollViewをメインViewとして設定したのだが、どうしてか、スクロールすることができない。 理由をさぐったところ、Creating Scroll Views Programmaticallyに下のような記述があったので、ひょっとしたら、contentSizeプロパティに値を設定していないかだと考えた結果、予想的中。 - (void)loadView { CGRect fullScreenRect=[[UIScreen mainScreen] applicationFrame]; scrollView=[[UIScrollView alloc] initWithFrame:fullScreenRect]; scrollView.contentSize=CGSizeMake(320,758); // do any fu

  • 『iPhoneアプリ開発、その(118) UIScrollViewはどうやって使うのか?』

    iPhoneはフリックやスワイプ、ピンチというジェスチャー概念の導入によって、チマチマしたスクロールバーから解放され、スタイラスペンのいらない実用的なタッチデバイスとなっているんだと思うわけですが、この機能の代表格であるUIScrollView、どうやれば使えるんでしょうか? 試してみます。 まずは「UIScrollViewはどこまで面倒見てくれるのか?」から。 以下にSafariでサポートされてる代表的なジェスチャーコマンドを上げてみたんですが、どこまで勝手に面倒見てくれるんでしょう? ジェスチャ名  動作       Safariでの対応 ダブルタップ  ポンポンと押す  ズームイン ドラッグ    引きずる     スクロール フリック    はじく      スクロール(一定時間自動) スワイプ    複数指でドラッグ スクロール なぞる ピンチオープン つまんで開く   ズームイ

    『iPhoneアプリ開発、その(118) UIScrollViewはどうやって使うのか?』
  • UIScrollViewを使ってちゃんとスクロール機能を実装させるための手順 | もうなんか色々と断片化していま

    UIScrollViewを使ってもなぜかスクロールしない事が合ってその理由をサンプルコードで簡単に解説。達成した事があったにもかかわらずちょっとハマってしまったのできちんとメモって二度轍しないようにするための記事。 UIScrollViewを扱うにあたって最低限しておかなければ成らない事 3重の入れ子構造にする Window UIScrollView contentView 実際に見せたいView群 やる事 UIScrollViewを生成 ScrollViewの上に乗せるコンテンツのViewを生成 ScrollViewにaddSubViewでコンテンツのViewを乗せる。 ScrollViewに必要なビューを乗せたいだけ沢山乗せる(載せる)。 ScrollViewの可動域を指定する。 現在のViewにはUIScrollViewを上書きする。 サンプルコード - (void)loadView

  • 備忘録:NSLayoutConstraint を無効にする - FuturesVision

    遅めの夏休みをとっているうちにiOS6やiPhone5のリリースが発表になりました。旅行の前から予想されていたのですが、意外とリリース日が早い事に驚いています。 前々から気になっていたのがiOS6対応のxcodeではInterface BuilderでUIViewに何かを追加すると、必ずNSLayoutConstraintが埋め込まれ、iOS5.0などのエミュレータで実行するとExceptionが発生してしまう事でした。 2012-09-16 07:13:14.395 iOS6Test05[2178:c07] *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConst

  • Nib ファイルから Objective-C のソースコードを生成する

    iOS/Mac 開発担当の松です。 突然ですが、Nib ファイル(以下 Nib)が好きになれません。確かに GUI の部品をレイアウトするコードを書くのは大変なので、Interface Builder で直感的に画面を作っていけるのはありがたいです。 しかし Visual Studio 等と違って、作った画面がソースコードではなく Nib というリソースになるため、言語や環境によって動的に部品を変更する必要が出てくると、Nib とソースコードに画面を作成する為の情報が散らばってしまいますね。これだと管理コストも高くなりますし、何より気持ちが悪いです。 どうしてソースコードが生成されないんだ!と憤っていたら、nib2objc という Nib から Objective-C のコードを生成するツールが、公開されていることを知りました。しかも随分前からあるみたいです。 早速ですが Mosa の、

    Nib ファイルから Objective-C のソースコードを生成する
  • アプリ説明などの別画面の作成と呼び出し:iPhoneアプリ開発雑記帳

    アプリ説明などで別画面を作り、呼び出して使いたいという場合の画面追加方法です。 画面(View)は通常、インターフェースビルダーで使用できるxibファイルと.hと.mのクラスファイルで1セットです。 これらのファイルを追加し、呼び出す方法をご紹介しておきます。 画面を構成するファイルの追加 画面を追加するには、Xcodeの左ナビにあるClassesを右クリックし、追加→新規ファイルを開きます。 新規ファイルのテンプレート画面が開きますので、iOSのCocoa Touch ClassからUIViewController subclassを選びます。 オプション項目のWith XIB for user interfaceにチェックを付けておくと、xibファイルも同時に作る事ができます。 次の画面で、ファイルに名前を付けて完了をクリックします。 作成した画面の呼び出し方法 ここでは、元々あったビ

    アプリ説明などの別画面の作成と呼び出し:iPhoneアプリ開発雑記帳
  • iOS データ設計入門 - A Day In The Life

    「iOS アプリの画面開発の基礎を理解する」でアプリの画面と画面遷移について説明しました。アプリの見た目はとても大切ですが同じぐらい大切なこととして、データの活用方法があります。 ユーザに必要なデータは何か、そのデータに価値を持たせて情報にするにはどうすればよいか、データをどこに記憶すればよいかについて説明していきます。 そもそもデータって何? データとはコンピュータが記憶することのできる文字や符号、数値などの集まりです。データはコンピュータ上で0と1の固まり(バイナリ)としてあつかわれます。バイナリが集まって意味を持ったものがデータであり、そのデータがさらに集まって意味を持ったものが情報です。図にすると以下のような感じになります。 バイナリは CPU、データはプログラム(アプリ)、情報はユーザがあつかいます。それぞれ解釈できる単位が違います。 データと情報の違い データそのものはユーザに

    iOS データ設計入門 - A Day In The Life
  • xcode

    iPhoneアプリのプログラミング Storyboard使用時に AppDelegate 内から ViewController を参照する方法 Storyboardを使わないプロジェクトでは、 AppDelegate 内で viewController という変数にViewController オブジェクトが 保持されていて参照することができます。 ところが、Storyboardを使う場合は、 Storyboard内で ViewController オブジェクトが作られるために AppDelegate 内に viewController という変数が用意されていません。 そこで、その変数を自分で用意する方法について解説します。 新しいProjectを開始します。ProjectのTemplateには "Single View Application"を選びます。 Project名は"Samp

  • iPhone開発。まずはサンプルを動かしてみよう

    Xcodeの基的な使い方 基的な使い方は以下のとおりです。ちなみに、私はVisualStudioやEclipse出身なので、最初はInterfaceBuilderはどう使っていいのかサッパリ分かりませんでした。 1. 起動 /Developer/ApplicationsにXcodeがインストールされているので起動しましょう。 ほかにも、InterfaceBuilder、InstrumentsなどiPhoneアプリ開発に使うソフトが入っています。

    iPhone開発。まずはサンプルを動かしてみよう
  • [iOS5] ARC : プロパティ属性と使い方 | Natsu note

    strong __strong修飾子に対応するプロパティ属性です。strong属性を用いたプロパティは参照先オブジェクトのオーナーとなります。 weak __weak修飾子に対応するプロパティ属性です。__weak修飾子を持った変数と同様、weak属性のプロパティも、参照先のオブジェクトが破棄されたら自動的にnilが代入されます。weak属性を用いたプロパティはオーナーシップ権を持ちません。 weak属性は、delegateやOutletの変数に最適です。 なお、iOS 4では__weak修飾子が使えないため、プロパティのweak属性も使えません。この場合は、後述のunsafe_unretainedを使いましょう。 copy __strong修飾子に対応しますが、実際にはコピーオブジェクトが代入されます。copy属性を用いたプロパティは参照先オブジェクトのオーナーとなります。 unsafe

  • Objective-CでのDelegateについて

    Objective-CでのDelegateとは iPhoneアプリケーション開発において、結構頻繁に出てくるのがこのDelegateという言葉です。プロジェクトを作れば必ず~AppDelegateというクラスが作られますし、 他にも様々な場面で~Delegateというものを目にすることになります。Delegateとは代理人とか代表者とか委譲などという意味があります。 通常あるオブジェクトへと送られてくるメッセージはそのオブジェクトで処理するべきなのですが、いちいちそのオブジェクトのファイルを作るのは面倒という場合があります。 その場合に、別のクラスに送られてきたメッセージを丸投げしてしまうと、そのオブジェクト自体に特有の処理を書くなどしなくて良くなるため便利、というわけです。 たとえば、iPhoneアプリケーションで画面にメッセージを表示するUIAlertViewというクラスがあります。

  • Objective-Cのプロトコルとデリゲートのまとめ - $ cat /var/log/shin

    Objective-Cの@protocol、@required、@optional、そして所謂Protocol-Delegateパターンの基のまとめです。Javaが普通程度に出来る人を対象としてます。(Objective-C歴1週間程度なので要ツッコミ) サンプルコード 百聞は一見にしかず、ということでサンプルコードです。 まずはヘッダex.h。当はクラスごとに分けるべきですが、面倒なので一纏めにしています。 // ex.h #import <Foundation/Foundation.h> @protocol MyProtocol1 @required - (void)foo; @optional - (void)bar; @end @protocol MyProtocol2 - (void)hoge; @optional - (void)piyo; @end @interface

    Objective-Cのプロトコルとデリゲートのまとめ - $ cat /var/log/shin
  • Objective-Cの @property と @synthesize の組み合わせが何をやっているのかを解説 - 強火で進め

    改めて説明するまでも無いかと思ってたけど意外と知らない人は知らないみたいので解説を書いておきます。 @property と @synthesize の組み合わせは端的に言うと「setterとgetter(アクセッサメソッド)をコンパイルの前に生成させる」以上。 ※Objective-Cの場合、 @ で始まるものはプログラムでは無く、コンパイラへの指示となります。この様な指示をObjective-Cではコンパイラディレクティブ(Compiler directive)と呼びます。 詳細説明 setterやgetterはメンバ変数を直接扱わずにメソッド経由で代入やデータの取得をする為に定義するメソッドです。setterがデータを代入する時のメソッド、getterがデータを取得する時のメソッドとなります。 メンバ変数をメソッド経由にすることにより代入前にチェックを行って有効な値のときのみメンバ変数

    Objective-Cの @property と @synthesize の組み合わせが何をやっているのかを解説 - 強火で進め
  • Objective-Cのクラスの前方宣言がないと困ること | アールケー開発

    クラス名の前方宣言について質問をもらったので少しまとめます。 Objective-Cでクラス名を前方宣言したいときには「@class」文を使用します。例えば「MyObject」という名前のクラスであれば、次のように書きます。 [cc lang=”objc”] @class MyObject; [/cc] ヘッダファイルの中で、Objective-Cのクラスのインスタンスをメンバー変数にしたいときはクラスが存在することを知らなければいけません。このようなときに「#import」文をヘッダファイルに書いてクラスの宣言を読み込みます。例えば次のようなコードです。(このヘッダファイルを「MyObjectB.h」ファイルとします) [cc lang=”objc”] #import “Cocoa/Cocoa.h” #import “MyObject.h” @interface MyObjectB :

    Objective-Cのクラスの前方宣言がないと困ること | アールケー開発
  • 知識ゼロからはじめるiPhoneアプリ開発 - A Day In The Life

    iPhone アプリ開発を初めてはや2年。わけわからんレベルからなんとかアプリをリリースするところまでこぎつけました。もともと趣味ではじめた事ですが今は仕事でも iPhone アプリ開発をしています。ここに至るまで自分が調べたことや参考にした文書をアプリの構想からアプリをリリースするまでの手順にそってまとめてみました。 iOSアプリ開発関連のを書きました 初めて iOS アプリ開発をされるかた向けに「プロの力を身につける iPhone/iPadアプリケーション開発の教科書」というを書きました。 この記事を読んで iOS アプリ開発に興味を持たれた方におすすめです(2013年2月26日発売)。2015年1月17日にSwiftに対応した改訂版がでました。 の内容に関する詳しい記事はこちらです。 iOSアプリ開発のを書きました 初期投資 8400円とプライベートな時間、iPhoneまたは

    知識ゼロからはじめるiPhoneアプリ開発 - A Day In The Life
  • macOS/iOS API解説

    INDEX>SwiftUI > Views and Controls テキストフィールド Swift struct TextField<Label> where Label : View 解説 A view that displays one or more lines of read-only text. フレームワーク SwiftUI クラス 使用可能 参照 更新時のバージョン 関連記事(外部サイト) 例文 Swift @State private var name = "" var body: some View { VStack { TextField("your name?", text: $name) .textFieldStyle(RoundedBorderTextFieldStyle()) .padding() Text("Hello, World!") .frame(ma

    macOS/iOS API解説
  • グローバル変数

    Mac OS X 向けアプリケーション開発を仕事としている永遠製作所が、日々の開発でつきあたった問題点や、ちょっとしたTipsをメモしていこうと言う、自分勝手な覚え書きブログ。 インターネットの掲示板で初心者からの質問として、二つの画面の間でデータの受け渡しをやりたいがその方法がわからないというのをよく見かける。あ、もちろんiOS SDKプログラミングの話ね。 別にアップルがそのためになにか特別なAPIを用意してくれているわけではないので普通にC言語のブログラミングでやっているようにプログラムを作ればいいだけの話。でもiOSプログラミングでは画面の表示のためにはこのコントローラを使いなさいとか、初期化時にはこのメソッドをオーバーライドしなさいとか、色々決め毎があるのできっとなにか決まりがあるんだろうと思ってしまい見つけられずに質問をするのだろう。 とは言え、こう書いた方がiOS的には判りや

  • Storyboardで画面遷移を作る (iOS)

    Xcode4.2からStoryboadというものが使えるようになりました。いままで画面ごとにnibファイルを作ってプログラムで画面遷移することができましたが、Storyboardを使えば各画面の関係を1画面で見渡すことができます。また、単純な画面遷移ならプログラムを一切書かずに作ることができます。 最も簡単な画面遷移 ボタンを押したら次の画面に移動するだけの簡単な画面遷移を作ってみます。 まずはプロジェクトの作成から。 File –> New –> New Project でSingle View Applicationを選択します。 新規プロジェクトプロジェクト名などを入力する画面で「Use Storyboard」のチェックを入れて、プロジェクトを作成します。 次に、Navigation Controllerを追加します。 Navigation Controllerをドラッグしてキャン

    Storyboardで画面遷移を作る (iOS)
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 複数ボタンを配置する - プログラミングノート

    しばらく触っていなかったのでちょっと忘れ気味なiPhoneです.. ボタンに限らず、複数の同じパーツを設置する場合によく使うのでメモ。 もっとこうした方がよいよみたいなことがあればつっこみお願いします。 まずはNSMutableArrayを用意します。 @interface MyView : UIView { NSMutableArray *buttons; } @property (nonatomic, retain) NSMutableArray *buttons; - (void)buttonClicked:(id)sender; @end UIButtonを作成するタイミングでNSMutableArrayに追加しておきます。 クリックされた場合の判定に利用するのでtagも設定します。 @implementation MyView @synthesize buttons; - (id

    複数ボタンを配置する - プログラミングノート