iPhoneアプリ開発 -UIScrollViewでタッチを取得-

公開日: : iPhone, IT, Mac


 やりたいこと

UIScrollViewでタッチを取得する。

 方法

通常のUIScrollViewでは、タッチを取得することができません。

タッチを取得するには、以下の方法で可能になります。

  • UIScrollViewのカテゴリを作成する。
  • UIScrollViewのサブクラスを作成する。

カテゴリを作成する方法だと、UIScrollViewの全てに対応してしまいます。
1つのViewControllerに複数のUIScrollViewを利用しているので、今回はサブクラスを作成する方法を採用しました。

 実装例

サブクラスの作成としてCustomScrollView.h/CustomScrollView.mを実装します。

 CustomScrollView.h

#import <UIKit/UIKit.h>
@interface CustomScrollView : UIScrollView<UIScrollViewDelegate>
@end

 CustomScrollView.m

 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
 //タッチした時の処理
 }
 - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
 //タッチしたまま移動させた時の処理
 }
 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
 //タッチを終えた時の処理
 }
@end

touchesBegan、touchesMoved、touchesEndedをオーバーライドします。
必要な内容は上記の各メソッドに記述します。

 利用例

InterfaceBuilderを利用する場合は、設置したUIScrollViewのclassをCustomScrollViewに変更します。
スクリーンショット 2013-01-05 12.11.04

hファイルと関連付けると以下のようになります。

@property (weak, nonatomic) IBOutlet CustomScrollView *scrollView;

これで、UIScrollViewでタッチを取得することができます。

広告

関連記事

no image

iPhoneアプリを開発してての疑問 -教えてエライ人!-

MacでiPhoneアプリを開発してて疑問に思ったのの解決してないことを列挙。 知識不足をさらけ出し

記事を読む

no image

Objective-cで悩んでいたこと −アクセサのことについて−

* 疑問 以前書いたiPhoneアプリを開発していて(Objective-Cを触っていて)疑問に思

記事を読む

no image

iPhoneアプリ開発 −遷移先のViewControllerに値を引き継ぎたい−

例えば、トップページに複数個のボタンがあって、「A」と「B」というボタンを押下した際に、同じView

記事を読む

no image

リンク文字をタッチしても色が変わらない --webkit-tap-highlight-colorのメモ-

* 背景 jQuery Mobileを利用してスマートフォン対応をしたサイトにおいてリンク文字をタッ

記事を読む

no image

iPhoneアプリ開発 -バックグラウンド処理をした際にはまったこと-

* おきたこと 以下のメソッドを用いて、処理に時間がかかるもの(ここだとhoge)をバックグラウンド

記事を読む

no image

jQuery Mobileのバージョンアップではまった – pushStateの存在 –

jQuery Mobileをつかってスマートフォン対応をしたときにはまったこと。 * 前提

記事を読む

no image

CakePHP1.3でスマートフォン対応

CakePHP1.3でスマートフォン対応のためにやったことをメモしておきます。 * 環境 -

記事を読む

no image

order byでハマったこと -order by、group byの処理順序-

CakePHPでorder byとgroup byを使っていてはまったことについてのメモ。 * 

記事を読む

no image

Capistranoで簡単デプロイ -開発用サーバー編-

cakePHPを使って開発しているサービス()で、リリース周りを楽にしたいなと思いCapistran

記事を読む

スクリーンショット 2013-04-27 11.46.12

githubを使っての開発(2) -masterブランチにマージ-

前エントリーでgithub-flowをもとにした流れを書いたのですが、その中のマージについてもう少し

記事を読む

広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

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

広告

no image
[感想] Effective Objective-C 2.0 ☆☆☆☆★(4.5)

* 構成 - 第1章 Objective-Cに慣れる -

no image
[感想] iOSアプリテスト自動化入門 ☆☆☆(3.0)

* 構成 - Chapter 1 テスト自動化への取り組み

DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-

今までのDeployGate - -[http://pplace.

iPhone/iPadアプリを開発するためにやったこと

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て1

no image
ターミナルでgitのコマンドを補完したりブランチ名を表示する – macでgitを便利に使うために –

* やりたいこと macのターミナルでgitをいじっていると -今の

→もっと見る

PAGE TOP ↑