上記のコード内の、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に文字列を設定し、表示させています。 これをフリックして、テーブルの上部を表示させると以下のようになります。 そして、フリックのスライドを感知して、別の動作をさせることも可能です。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];
scrollViewDidScroll メソッドを使っています。コメントアウトしているNSLog部分は、デバッガコンソール上で、スクロールの動作確認をする場合に便利なので記載しています。確認するには、コメントアウトを解除してください。 r.origin.y の値を取得し、初期設定のr.origin.y = -50 を基準として、フリックによるスライドの幅が”-50”以上の場合( <= -100)は動作させる(この場合はNSLog)ようにしています。– (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(@”フリックされました!“);
}
この投稿へのコメント
コメントはまだありません。