パスワードを忘れた方はパスワードの再設定を行ってください。 初めての方ははてなID登録 (無料) してください。 うまくログインできない方はお問い合わせをご覧いただき、Cookieの設定をご確認ください。
はじめに iOS のヒューマンインターフェースを理解するためにはまず UI 設計の原則を定めた聖典 iOS Human Interface Guidelines を読むことから始めなければなりません。ここにはプラットフォームの特徴からデザインの原則、それぞれの部品が何のためにデザインされたのか、どう利用するのか、iOS を構成する UI の基本指針がまとまっています。 よく、『磨りガラス効果がかっこいい』『アニメーションしておくとイケてる』『ボタンは右配置の方が右手で押しやすい』『流行っているから』……などの観点によって UI の設計が決められることがありますが、そういうことではないのです。いや実際かっこいいかわいいだとかの感覚は重要なのですが、見た目が何となくそれっぽいだけでは優れた UI とは言えません。磨りガラスでも何でも必ずそこには意味があります。だからこそ HIG に書かれた思想
ページコントロール(ドット)、ページトップの「送信」、プラス(+)アイコン、並べ替えアイコンの4つは、テストでユーザビリティ上の問題を引き起こすことの多いiOSデザインパターンである。 4 iOS Rules to Break by Aurora Bedford, Raluca Budiu, Kara Pernice, and Amy Schade on July 9, 2015 日本語版2015年8月31日公開 巨大ソフトウェア会社(たとえば、AppleやMicrosoft、Google)はユーザーとデザイナー双方のためにデザインガイドラインを作成している。 おかげで、デザイナーや開発者側は、恵まれた条件のもとで、きちんとしたものになることが期待できるインタフェースの作成を始められるようになり、まったく新しいUI要素を考案する(そしてテストする)必要がない。 一方、ユーザー側も、すべての
ワイヤーフレームを楽しく作ろう! 魅力的なユーザーエクスペリエンスをユーザーに届けるために、ワイヤーフレームはとても重要です。 何より自分自身が楽しんで作らないと、良いアイデアは生まれないものですよね。 ということで「楽しく作れる!」という観点から、おすすめのスマホアプリ/サイトのワイヤーフレームの作成を支援するツールをまとめてみました!もちろんすべて無料で始められます! では早速どうぞ〜! Fluid UI http://www.fluidui.com/ プレビュー機能で画面遷移も作れる UIパーツが本物にかなり近い形で表現されています(むしろそのまま?)。UIパーツはWireframe、iPhone、iPad、Android、Android 4.0、Android Tablet、Windows Phoneの中から自由に選べます。かなり豊富です。またオリジナル画像をアップロードして使うこ
知り合いのデザイナーさんから「iOS&Androidアプリをデザインする時に何か知っておくべき事ってありますか?」と質問を受けたので、思い浮かんだ事をずらっと書いてみました。他にも何かありましたらコメントお願いします!ツッコミも歓迎(´ロ`) モバイルアプリデザインの原則とiOS 量が少し多いが、公式のiOSヒューマンインターフェイス ガイドラインは必読。(※ダウンロードに時間かかるので注意) iOSだけに限らず、モバイルアプリのデザインをするにあたって重要な事がまとまっている。 載っていること ヒューマンインターフェイスの原則 アプリケーション設計戦略 iOSテクノロジーの使用に関するガイドライン 標準で用意されている各UI要素(タブやツールバー等)の使い方 マルチスクリーン対応 どのような違いがあるのかを把握する 画面密度(ppi)や画面サイズなど 参考:iPhone, iPod to
iOS 7ではユーザーインターフェース(以下、UI)がフラットデザインになり、見た目も操作方法もこれまでのiOSとは違うものになりました。そんなiOS 7向けアプリを開発するデベロッパー向けに、AppleがUIデザインで気をつけるべき点やガイドラインなどをまとめています。 Designing Great Apps - Apple Developer https://developer.apple.com/design/ このサイトは登録済みiOSデベロッパー向けのもので、iOS 7向けアプリをデザインする上で必要な要素を、複数のページとApple World Wide Developer ConferenceやTech Talksのムービーを使って解説してくれます。 例えば、UIデザインのヒントを集めているのが以下のページ。 UI Design Dos and Don'ts - Apple
高齢者へのiPad導入を阻んだiOSのUI/UXの話 先月(2013年11月)、徳島県南部局と美波町が共催する「ITふるさと村」の講座で、iPadを使ったタブレット講座を開催しました。その成功と失敗の体験について書こうと思います。 Facetimeビデオ通話のデモで会場を一気に盛り上げたものの、参加者に実際に体験してもらう段階で「大失敗」。AppleIDの取得とそのためのiCloudメールの登録をしてもらってから、と進めたのですが、30名ほどの参加者のうち時間内にゴール出来たのは、たったの1名。好きなアプリをダウンロードしてもらい、タブレットの楽しさを感じてもらう目標が、そのスタート地点にも立てず(;_;) 企画や運営、インストラクターとしては完全に落第点でした。それを棚に上げると、高齢者とITに関する課題が大量に見えたという点では、ある意味「大成功」だったとも言えるでしょう。 【講座内容
引っ張って更新が iOS6 からメールや Passbook で出来るようになりました(写真は Passbook)。 この更新方法が iOS6 から簡単に実装できるようになったみたいですので、実際に使われる機会が多いテーブルビューに組み込んでみました。 だいたい以下のような感じで、引っ張って更新が出来ます。 ここでは、1秒後に更新終了を知らせる endRefreshing というメソッドを呼んでいます。実際には、処理や通信が終ったタイミングで呼ぶと、グッドです。 ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> { } @end ViewController.m #import "V
以前このブログでも書きましたがアプリ「Tweetie」で発明された「引っ張って更新」UIですが、iOS6ではOS標準のUIとして取り込まれました! このUIを使う手順をメモしておきます。 このUIの名前は“UIRefreshControl”です。オフィシャルリファレンスはこちら→UIRefreshControl Class Reference 使い方は洗練されていて、本当に簡単なのですが備忘録として、下記にサラッと解説を書いておきます。 生成、準備 まずは生成ですが、適当にallocし、保持しておきます。 次に、引っ張ったときのアクションを設定します。 あと、色も変えられるので、アプリに合わせて調整すると良いかもしれませんね。 - (void)viewDidLoad { // viewDidLoadなどで下記コードにて初期化し、viewDidUnloadでreleaseしてください. UI
僕はとにかくUITableViewに関しては、色々と使い方を忘れる。 その度に検索して調べているのです。 今回は、UITableViewに置くUITableViewCellをカスタマイズしようとしたら、どうやって作るのかすっかり忘れていました。 参考にしたサイトの記事がこちら。 Cocoaの日々: [iOS] UINib を使ったカスタム UITableViewCell の作り方 空のxibの作り方 ふむふむ、まず空のxibファイルにUITableViewCellを置いて、その中にいろいろパーツを配置していけばいいのか。 ん? 空のxibってどうやって作るんだっけ? そうそう、これこれ。 なるほどね〜。 先の記事を参考にして、うっかりやっちゃうミスとしては、Cellに配置したパーツの接続先(Outlet)を、File's Ownerにしてしまう事でしょうか。僕はうっかりやりました。 しっか
iOS SDK開発でOSSライブラリを使う際の基礎知識:生産性ガチアゲなオープンソースiOSライブラリ(1)(1/2 ページ) ゼロからiOS SDK開発を始める新規開発者でも超高速・高品質な開発を可能にするオープンソースのライブラリを目的別に紹介していく連載です。実際にライブラリを組み込みながら技術的な側面も合わせて詳細に説明していきます。初回は、OSSライブラリ活用の基本とUI系を中心にライブラリを16個紹介します。 OSSライブラリを活用した超高速・高品質な開発方法 オープンソース(以下、OSS)のライブラリを活用して開発を行うと、ライブラリ未使用の場合に比べて生産性、品質ともに圧倒的な違いが出ます。本連載では、ライブラリの種類、使い方、メリットなどを、実際に動くコードと一緒に解説していきます。 近年、iOS(iPhone、iPad)アプリ市場が急速に発展し、アプリ開発者は変化する状
UITableViewCell の accessoryView というプロパティについてです。それほどマイナーなプロパティでもないので、実は当たり前なのかもしれませんが、最近便利さに気付いたので紹介します。 UITableViewCell には accessoryType というプロパティがあって、3種類のアクセサリが付けられます。 accessoryView は、これをカスタムな見た目にしたい時に使うぐらいのものだという認識でした。実際そうなのですが、よく考えたら UIView ならなんでも入れられるわけで、UISwitch だって入れられるんだなと。設定画面でスイッチがよく出てくるのですが、今まで contentView に addSubview していて、位置を合わせるのが面倒だと思っていました。でも accessoryView なら次のコードで終わりです。frame の origi
今回はCanvasView側アプリの作成。 カスタムUIViewであるCanvasViewで受け取ったタッチイベントに合わせて事前に用意しておいた画面外描画領域(オフスクリーンというのじゃよ)に線を描画し、このオフスクリーンをCanvasViewで逐次描画してやればお絵描きソフトができるわけざんす。 カスタムUIViewの作り方はドリル:画面へのタッチを検出する(1)を参照ね。 でもって、カスタムUIViewの内容部描画方法はドリル:カスタムUIViewの内容部を独自に描画するを参考にして下さい。 ただ~し、上のドリルだとオフスクリーンをどうやって画面に描画するかはわからない。 オフスクリーンの作り方や、CGContextRefへの描画方法は「その(175)」を読むとして、ここで使ってるCGContextDrawImageを実行するために必要なラストワンピース、CGContextRefを取
iOS 4 以前で RGB を取得する場合 UIColor が保持している RGBA の値を取得するには、iOS 5 よりも前であれば、CGColorGetComponents 関数を使用します。 この関数は、RGBA の 4 つの値をそれぞれ CGFloat 型で順に const CGFloat* 型の C 配列で返すのですけど、RGB の値が一緒の場合(たとえば白 [R=1.0, G=1.0, B=1.0] や黒 [R=0.0, G=0.0, B=0.0] の場合)には、それらがまとまれて、それらと A との 2 つだけが帰ってくるのが厄介です。 戻される配列の数は CGColorGetNumberOfComponents 関数で取得することができるようになっているので、それらを使って次のように RGBA の値を取得する感じになると思います。 CGFloat red; CGFloat
メモリ警告によってViewが破棄された場合、UITableViewのスクロール位置はリセットされてしまう。再度Viewが読み込まれたときに元の位置に戻すには、破棄される直前のスクロール位置を覚えておく必要がある。だいたい次のようなコードになる: ScrollTestViewController.h #import <UIKit/UIKit.h> /* UITableViewControllerではなくUIViewControllerを使っている理由は後述 */ @interface ScrollTestViewController : UIViewController<UITableViewDataSource, UITableViewDelegate> { /* UITableViewはIBOutletでretainする想定 */ UITableView *_tableView; /*
UIToolbarのアイテムを状況によって切り替えたい時がある。 そんな時はUIToolbarのsetItemをまた呼び出せばいい。 以下がサンプルコード。 /** * Toolbarのボタン1軍 */ - (void)setBarButtonItems1 { UIBarButtonItem *barButtonItem1 = [[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:self action:@selector(buttonEvent1:)]autorelease]; UIBarButtonItem *barButtonItem2 = [[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarBut
最近始めて知りました。 そうです。UIPageControlの使い方です。 【今までの勘違い】 ・UIPageControlだけでページングは実装できる ・UIPageControlに数枚のviewを乗せることによってページングが可能となる 【今回わかったこと】 ・ページングはUIScrollViewにて実装する ・UIPageControlは各ページviewとは別物で、ただのページ(ページ数・現在ページ)である ・UIScrollViewとUIPageControlを紐付けてあげることで、わかりやすいページングが実装できる iPhoneのホーム画面を見ていると、どうしても各ページとその下のページを示す点はもともと関連があるものだと思えてしまうのですが、そうではなかったようです。 以下、試しに書いたサンプルソース。 PageControlBaseView.h #import <UIKit/
はてなでスマートフォンアプリの開発を担当している、id:ninjinkunこと浅野慧です。近年、スマホアプリは「ユーザー体験(UX)」が非常に重要と言われており、筆者もUXの勉強に勤しむ毎日です。そんな中、エンジニア&クリエイターを支援するコミュニティ「Web CAT Studio(運営:リクルートエージェント)」が「スマートフォンUXの最前線」という勉強会を開催すると聞いて、お邪魔してきました。勉強会当日のレポートと、Web CAT Studioが積極的に勉強会を開催している理由を伺ったインタビューをお送りします。記事の終わりには、関連書籍のプレゼントのお知らせも! (※この記事はWeb CAT Studio/株式会社リクルートエージェントの提供によるPR記事です) ▽ スマートフォンUXの最前線 : ATND 「UX」とは「ユーザー・エクスペリエンス」「ユーザー体験」の略で、簡単に言う
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く