新作アプリ用に同期アイコンを作ったので、これを回転させるのに色々調べたのですが、みんなそれぞれ書いていることが少しずつ違って悩んだので、こうするのが一番シンプルだろうというのを書いてみます。 この例ではImageViewのLayerを操作して90度ずつ無限に回転を繰り返します。 任意の角度を指定したい場合はnumberWithFloat:の数値とrepeatCountでうまく調整してください。(90度以下の数値を指定して必要回数繰り返せば良いはず) CALayer *layer = imageView.layer; CABasicAnimation* animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"]; animation.toValue = [NSNumber numberWithFloat:
前回のレイヤ構成を使って「棒取りゲーム」を作ってみる。 この前のでもbatonLayerが一瞬動いて「おっ」となったんだけど、あれがいわゆる暗黙のアニメーションですな。 batonLayer.position = CGPointMake(60, 160); とすること自体がアニメーションの起動につながる。 ただしこの場合アニメーションの長さが0.25秒みたいで今回のゲームにそのままは使えない。暗黙のアニメーションの動作時間自体は変更可能だけど、そこまでやるくらいならいつもどおりアニメーション作るのが正解でしょう。 というわけでbatonLayerが落ちるアニメーションを作成。 animationWithKeyPath:@"position" でCABasicAnimationを作成してfromValue、toValueにpositionを設定してやる。設定する値はCGPointそのままとは
僕はとにかくUITableViewに関しては、色々と使い方を忘れる。 その度に検索して調べているのです。 今回は、UITableViewに置くUITableViewCellをカスタマイズしようとしたら、どうやって作るのかすっかり忘れていました。 参考にしたサイトの記事がこちら。 Cocoaの日々: [iOS] UINib を使ったカスタム UITableViewCell の作り方 空のxibの作り方 ふむふむ、まず空のxibファイルにUITableViewCellを置いて、その中にいろいろパーツを配置していけばいいのか。 ん? 空のxibってどうやって作るんだっけ? そうそう、これこれ。 なるほどね〜。 先の記事を参考にして、うっかりやっちゃうミスとしては、Cellに配置したパーツの接続先(Outlet)を、File's Ownerにしてしまう事でしょうか。僕はうっかりやりました。 しっか
iPhone プログラミングの中で、ボタンのクリックイベントは簡単に取れるのですが、ラベルや画像のクリックイベントが手軽に取れません。いくつか調べると、UITapGestureRecognizer を使うか、touchesEnded メソッドをオーバーライドするか、という方法があるのですが手軽でもないので。 iphone – How can I determine if a UILabel was touched? – Stack Overflow http://stackoverflow.com/questions/2539380/how-can-i-determine-if-a-uilabel-was-touched UILabelのタッチイベントを検出する方法 ? 拡張現実ライフ http://akio0911.net/archives/3419 どうやら、tag を使うと一番手軽そ
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.co.jp/"]]; NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString: @"http://www.google.co.jp/"]]; // ブラウザを開く CGRect webFrame = [[UIScreen mainScreen] applicationFrame]; webFrame.size.height -= 40.0; webView = [[[UIWebView alloc] initWithFrame:webFrame] autorelease]; webView.autoresizingMask = (UI
This document discusses usage trends of the Eclipse integrated development environment. It notes that Eclipse usage increased 20% in 2011, with the biggest increases being 10% for Eclipse itself, 10% for plugins, and 200% for Android Development Tools. It then provides many tips and shortcuts for using Eclipse more efficiently.
サイトを移行しました。 iPhoneアプリと、そのプログラム 第5回はiPhoneでXMLの解析をしてみたいと思います。 XMLの解析をするためには、XMLパーサが必要なのですが、 大きく分けて2種類のパーサが存在します。 それがDOM(Document Object Model)とSAX(Simple API for XML)です。 DOMでは、全てのXML情報を一度メモリに読み込み木構造に展開します。 それに対してSAXでは、シーケンシャルに情報を読み込んでいきます。 雰囲気的にはC言語でいうfgetsとgetcの違いみたいな感じです。 iPhoneではメモリの制約が厳しいため、DOMではメモリ不足が起こる可能性があります。 そこで、Cocoa標準のSAXパーサであるNSXMLParserクラスを使用します。 次に、RSSファイルのXMLの構造を見てみましょう。 itemタグで囲まれた
UIView には、transform というプロパティがあります。このプロパティを使うと簡単に UIView を拡大・縮小・回転させることができます。transform プロバティの型は CGAffineTransform です。transform の中身は 3×3 の行列で、 z 軸の回転行列として扱うことができます。初期値は、単位行列になっています。 拡大・縮小について まずは拡大・縮小から説明します。 sampleView.transform = CGAffineTransformMakeScale(2, 2); このように書くと元のサイズの2倍と大きさになります。 また、以下のように書くと現在設定しているサイズの2倍になります。 sampleView.transform = CGAffineTransformScale(sampleView.transform, 2, 2); こ
CALayerは単純な位置の移動だけなら、 layer.position = CGPointMake(x, y); というようにすれば、アニメーションとともに移動してくれます。position以外にも、opacityの変更などでもアニメーションが発生します。 しかし、アニメーションの時間を細かく決めたいといった場合にはCATransactionやCAAnimationを使う必要があります。 CATransactionを使った例。 CAMediaTimingFunction *tf; tf = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; [CATransaction begin]; [CATransaction setAnimationDuration:1.0f]; [CATransactio
Copyright © 2004-2025 Impress Corporation. An Impress Group Company. All rights reserved.
iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど 最近よく使っている省略記法を紹介する。これらを使うとなんとなく気分がいい。 クラスメソッドの . (ドット)アクセス 実はクラスメソッドも .(ドット)表記が可能になった。 [SomeClass sharedInstance] ↓ SomeClass.sharedInstance当然ながらさらにメソッドも重ねられる。 SomeClass.sharedInstance.localNameXcodeではクラスメソッドの.表記は補完が効かないのが難点。ただしそれ以降のメソッドは補完してくれる。 例えば SomeClass.share... ここまでは補完しないが、SomeClass.sharedInstance.local.. ここまで来ると補完できる。 インスタンス作成 (1)newお馴染
入門 機械学習の11章でTwitterのネットワーク可視化がトピックになっていて面白そうだったので、Pythonで作成してみました。*1 某Q大の図書館のアカウントを分析してみました。*2大きく2つに分かれていて、左側が図書館関係のアカウント、右側が大学関係のアカウントになっています。図書館関係のアカウントもそのなかで、LSS関係、大学図書館公式、あたりはクラスタになっていそうな感じです。大学関係のアカウントで多くフォローを集めているのは、個人よりも大学関連の情報発信系のアカウントのようです。個人ユーザーとおぼしきアカウントは、図書館系のクラスタよりも密度が低くなっていますね。このあたりに学部ごとのクラスタが出来てないかなぁと期待しているのですが、実際はどうなんでしょうね。 以下にデータとで作成したグラフをいくつか置いておくのでよかったらご覧ください。 https://dl.dropbox
iOS SDK開発でOSSライブラリを使う際の基礎知識:生産性ガチアゲなオープンソースiOSライブラリ(1)(1/2 ページ) ゼロからiOS SDK開発を始める新規開発者でも超高速・高品質な開発を可能にするオープンソースのライブラリを目的別に紹介していく連載です。実際にライブラリを組み込みながら技術的な側面も合わせて詳細に説明していきます。初回は、OSSライブラリ活用の基本とUI系を中心にライブラリを16個紹介します。 OSSライブラリを活用した超高速・高品質な開発方法 オープンソース(以下、OSS)のライブラリを活用して開発を行うと、ライブラリ未使用の場合に比べて生産性、品質ともに圧倒的な違いが出ます。本連載では、ライブラリの種類、使い方、メリットなどを、実際に動くコードと一緒に解説していきます。 近年、iOS(iPhone、iPad)アプリ市場が急速に発展し、アプリ開発者は変化する状
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く