2010年12月17日 過去Blog
画面にテーブルビューが表示されている(XCodeテーブルテンプレート)を想定しています。以下の画像はtabBar,Navigationなど入っていますが、気にしないでください。 852-1
RootViewControllerのviewDidLoadメソッドに以下のコードを設定。

CGRect rect = self.tableView.bounds;

rect.origin.y -= 50;

rect.size.height = 50;

 

UILabel *flickArea = [[UILabel alloc] initWithFrame:rect];

//label文字設定

 triggerHeader.textColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0];

 triggerHeader.backgroundColor = [UIColor colorWithRed:0.914 green:0.082 blue:0.475 alpha:1.0];

 triggerHeader.font = [UIFont boldSystemFontOfSize:[UIFont buttonFontSize]];

 triggerHeader.textAlignment = UITextAlignmentCenter;

 

flickArea.text = @”設定文字列;

[self.tableView addSubview:flickArea];

 

[flickArea release];

上記のコード内の、1行目は、テーブルビューのbounds(起点座標、表示領域サイズ)を取得します。それを元に、取得したY座標から”−50”の地点に「rect」の起点座標を設定し、高さも”50”に設定します。 その座標にUILabelを配置しています。 コメントアウトの「Label文字設定」となっている数行は、表示させるラベルの見た目を設定しています。 UIFont 、UIColore の詳細については、こちらのサイトが詳しいです。 http://iphone-tora.sakura.ne.jp/uifont.html http://iphone-tora.sakura.ne.jp/uicolor.html その後、そのUILabelに文字列を設定し、表示させています。 これをフリックして、テーブルの上部を表示させると以下のようになります。 852-2そして、フリックのスライドを感知して、別の動作をさせることも可能です。

– (void)scrollViewDidScroll:(UIScrollView *)scrollView {

 

CGRect r = self.tableView.bounds;

r.origin.y -= 50

r.size.height = 50;

 

//NSLog(@”%lf”,r.origin.y);

if (r.origin.y <= –100) {

 

//ここに対応させたいアクションを記述

 

NSLog(@”フリックされました!);

 

}

scrollViewDidScroll メソッドを使っています。コメントアウトしているNSLog部分は、デバッガコンソール上で、スクロールの動作確認をする場合に便利なので記載しています。確認するには、コメントアウトを解除してください。 r.origin.y の値を取得し、初期設定のr.origin.y  = -50 を基準として、フリックによるスライドの幅が”-50”以上の場合( <= -100)は動作させる(この場合はNSLog)ようにしています。

この投稿へのコメント

コメントはまだありません。

コメントを残す

メールアドレスが公開されることはありません。

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

CAPTCHA


ピックアップ記事

[6]:SQLiteを使ってToDoリストアプリを作成(1)

2010年12月01日 過去Blog
このブログのチュートリアルを順に読み進めてくださった方なら、このチュートリアルがUITableVIewを優先的に取り組んできたことをご存知かと思います。 この理由としては、多くのアプリケーションが、このシンプルなコントロールを使って開発されているからです。 今回はUITableViewの最後のチュートリアルとして、今までのチュートリアルで学んできたことをすべて使い、SQLiteの技術を追加し、ToDoリストを作成していきます。 また、多くの機能を持ったテーブルセルを追加し、iPhoneが提供している他のコントロールについても学んでいきます。 過去の記事を既読の方を想定していますので、まだの方は、そちらの記事に先に目を通されることをおすすめします。 このチュートリアルは、いくつかのシリーズから成り立つので、過去の記事に比べ少し長くなります。この最初のチュートリアルで学ぶことは以下です。 今回学ぶこと: Navigation-Based Application の新規作成 データベースの作成 プロジェクトにデータベースの追加 SQLite3のフレームワークを追加 ToDoクラスのオブジェクトの作成 データベースの初期化 …
「[6]:SQLiteを使ってToDoリストアプリを作成(1)」をはてなブックマークに追加

SQLite で Limit や ORDER BY RANDOM()など

2010年12月16日 過去Blog
SQLite で抽出データを並び替え SELECT * FROM テーブル名 ORDER BY フィールド1 DESC, フィールド2 DESC, フィールド3 ASC ; 上記のようにすることで、「テーブル名」という名前のテーブルの全てのデータを「フィールド1」の降順で並べ、「フィールド1」が同値の場合、次の「フィールド2」を降順に並べ、さらに「フィールド2」も同値の場合、「フィールド3」を基準に昇順に並び替えます。 ASC は結果が昇順に並びかえ、 DESC はそれが降順に並ぶかえることを表します。そのどちらも指定されていない場合、 ASC で並び替えられます。 SQLite でランダムにデータを抽出する まず、SQLite でランダムにデータを取り出す方法 SELECT * FROM entry ORDER BY RANDOM(); SQLite で行数指定(LIMIT)でデータを抽出する SELECT文では、WHERE句などを指定した場合でも条件に一致する全てのデータを取得します。この取得する件数を制限したい場合にはLIMIT句を使います。書式は以下の通りです。 SELECT カラム名, ... FROM テーブル名 LIMIT 行数; …
「SQLite で Limit や ORDER BY RANDOM()など」をはてなブックマークに追加

.htaccess の落とし穴

2010年04月14日 過去Blog
落とし穴ってほとではありませんが、少しハマってしまったので、恥ずかしながらメモ・・・。 あるサイトをつくっていたのですが、トップページを表示するたびにベーシック認証の画面が表示されるので、おかしいなぁと思い、それを解決しようとサーバ内を調べていました。 もともと .htaccess を置く必要がないディレクトリなので、サーバ上には、そんなファイルはありませんでした。 絶対に認証は、かけていない!…
「.htaccess の落とし穴」をはてなブックマークに追加

zencart:カスタマイズ リンクの貼り方

2009年11月18日 過去Blog
セッションや共用SSLの問題を考えずに、普通にリンクを貼るのであれば、Zencartのデフォルトで設定されているURL(http://domain_name.com/index.php?main_page=contact_us など)をそのままテンプレート内に張り付けることで動作しますが、この方法でリンクを貼るとクッキーの使えないブラウザで正常にセッションが動作しなくなります。Zencartのセッションについてはこちらの記事で触れています。 セッションを維持するリンクの貼り方は状況によっていくつか考えられるので、順に説明していきたいと思います。 …
「zencart:カスタマイズ リンクの貼り方」をはてなブックマークに追加

PHP 日付の減算・差分を求める

2010年06月01日 過去Blog
define( "ONE_DAY_SEC", 24 * 3600 ); // 日付けの差分をとる関数 function dateDiff( $date1, $date2 ) { return ( strtotime( $date1 ) - strtotime( $date2 ) ) / ONE_DAY_SEC; } // 実行サンプル $date1 = date('Y/m/d…
「PHP 日付の減算・差分を求める」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy