Just My Life & My Work

Posts tagged ‘design’

[iOS] WatchKit 與 UIKit

Apple Watch即將上市,對iOS開發者而言,無疑是個一定要了解的全新裝置,特別是在使用者體驗上,如何設計適合小螢幕的界面。這種改變從電腦轉移到手機已經歷過一次,如今要從手機移轉到手錶,螢幕可是越變越小呢~

手機上所呈現的界面是透過UIKit framework,而手錶所呈現的界面則是透過WatchKit framework,這兩者有相似的地方,也有許多不一樣的地方

WatchKit 與 UIKit

基本上,WatchKit是UIKit的簡化版,之後Apple應該會根據需求新增修改些property或method。一般而言,手錶的功用是瀏覽重於互動,所以framework少有互動的設計。

WatchKit的元件

WKInterfaceObject繼承於NSObject。WKInterfaceImage繼承於WKInterfaceObject、WKInterfaceLabel繼承於WKInterfaceObject,其餘依此類推,都是繼承於WKInterfaceObject。

其property與method也很陽春,只有一些基本的設定。

  • WKInterfaceObject

#import <Foundation/Foundation.h>
#import <CoreGraphics/CoreGraphics.h>
#import <WatchKit/WKDefines.h>

WK_CLASS_AVAILABLE_IOS(8_2)
@interface WKInterfaceObject : NSObject

- (instancetype)init NS_UNAVAILABLE;

- (void)setHidden:(BOOL)hidden;
- (void)setAlpha:(CGFloat)alpha;

- (void)setWidth:(CGFloat)width;   // setting to 0 means use natural size. ignored for table
- (void)setHeight:(CGFloat)height;

@property(nonatomic,readonly,copy) NSString *interfaceProperty;   // same as controller's property name

@end

@interface WKInterfaceObject (WKAccessibility)

- (void)setAccessibilityLabel:(NSString *)accessibilityLabel;
- (void)setAccessibilityHint:(NSString *)accessibilityHint;
- (void)setAccessibilityValue:(NSString *)accessibilityValue;

@end
  • WKInterfaceImage

#import <Foundation/Foundation.h>
#import <WatchKit/WKDefines.h>
#import <WatchKit/WKInterfaceObject.h>

@class UIImage;

WK_CLASS_AVAILABLE_IOS(8_2)
@interface WKInterfaceImage : WKInterfaceObject

- (void)setImage:(UIImage *)image;
- (void)setImageData:(NSData *)imageData;
- (void)setImageNamed:(NSString *)imageName;

- (void)startAnimating;	      // play all images repeatedly using duration specified in interface description
- (void)startAnimatingWithImagesInRange:(NSRange)imageRange duration:(NSTimeInterval)duration repeatCount:(NSInteger)repeatCount; // play subset of images for a certain number of times. 0 means repeat until stop
- (void)stopAnimating;

@end

我們很驚訝地發現,居然沒有frame這個特性!也就是我們無法設定其座標(但可設定長與高),也無法使用Auto Layout。實際上,WatchKit界面元件只能在格子中透過邊界相對位置來放置。

還有許多特性需要好好了解,因為本來就不該把手錶當作手機來設計,而簡化自然有其好處!持續去研究吧~

參考:WatchKit – NSHipster。

圖片

台北貓咪咖啡廳捷運地圖

搭了八年捷運的我,第一次看到不是給人用的捷運地圖-台北貓咪咖啡廳捷運地圖,讓人感到很新奇!依此類推,其實也可以做給愛狗人士用呢!

台北貓咪咖啡廳捷運路線圖

我想若有心的話,愛什麼的人就做什麼捷運地圖吧!

吃的

比如早午餐店、便利商店、美式漢堡、義式餐廳、燒烤店、創意料理等。

喝的

比如咖啡廳、飲料店等。

玩的

比如公園、旅館、河堤、名勝古蹟等。

樂的

比如彩券行、KTV、夜店、夜市等。

24小時都可去的

像是便利商店、速食店、旅館等。

服務類的

像是郵局、銀行、醫院等。

期待有閒情逸致的人整理出清單,然後畫到台北捷運圖上,或者也可以交給我,讓我做出一個什麼都有的台北捷運App!有賴喜歡搭捷運的人集結而成:)~

參考:【貓咪+美食】喜歡貓咪?喜歡咖啡廳? 我的台北市貓咪咖啡廳捷運路線圖

[iOS] 版本市佔率 (Version Market Share)

iOS 8釋出已經三個月,我們來看一下現在iOS各版本的市佔率吧!真沒想到,比起Windows各版本市佔率,iOS可是非常快速地讓使用者安心更新!這種無痛升級且能享受更多的功能服務,當然會讓多數人都能夠接受!

iOS 版本市佔率 Version Market Share

2014/12/08由Apple官方統計,iOS 8占有63%iOS 7占有33%最新的兩個iOS版本就占有96%,讓開發者們如我樂觀其成!因為我們只要優先著重在iOS 7以上開發即可,若客戶說想要支援iOS 6,那麼就拿出這一張圓餅圖給他看吧~為了支援不到4%的iOS版本,而多花費時間與金錢在上頭,可不是個明智的選擇呢~

iOS 7以後的扁平化設計,可說是個劃時代的分水嶺,無論是在使用者體驗上,或是在開發者工具上,甚至軟硬體新的功能與服務,都將讓你我引領期盼!期許自己能深入體會研究其中奧妙之處,進而設計出自己他人都愛不釋手的應用軟體:)~

200930更新

2020/6/17,iOS 13市佔92%、iOS 12市佔12%、iOS 11之前版本則市佔2%。

2020 iOS and iPadOS Usage

此外,參考我正在做的快樂印App,是透過Facebook SDK而來的統計,在開發者後台就能查詢。

2020/9/30最新版本iOS 14有6.72%。至於iOS 10以下版本,可以考慮不要支援,畢竟用戶數非常少,若維護成本過高,就割捨掉吧!

不過我想,還在使用iOS 10以前版本的手機,應該也跑不太動現在我們的快樂印App吧~

快樂印 Facebook 2020 iOS and iPadOS Usage

mixpanel iOS 14

參考:App開發前要考量的首要關鍵數值 -「iOS版本市佔率」Apple Developer Support

圖片

iOS 支援陣列 (iOS Support Matrix)

是時候再查看iOS 支援陣列 (iOS Support Matrix)這張極具巧思的圖,觀察得出Apple八年來進步的軌跡,期許自己的職涯持續累積奉獻,提高生活品質,達成自我實現

iOS_Support_Matrix_v3_1_2-October2014

參考:iOS Support Matrix

圖片

2015年台北捷運圖

上週日特地去搭免費的松山線,最後搭到松山站,才發現原來饒河夜市在這裡!逛完一圈吃了五色剉冰。捷運年年更新,去年是信義線,今年是松山線,明年會是哪一條線呢?實在令人期待呢~🤗

廣告

接下來的一年2015年台北捷運圖設計的相當不錯,除了原本就有的顏色區別,還特別標記1-5號線

2015年台北捷運圖
廣告
(繼續閱讀…)

[Xcode] 各尺寸畫面即時預覽

Apple今年推出的iPhone 6iPhone 6+螢幕大小為4.7吋5.5吋,這對開發者來說無疑是個新的考驗,因為先前我們只要在3.5吋和4吋做設計,如今一次多了兩款大小!以為一個專案要同時為四種大小做設計,事實上也是如此⋯⋯不過呢~Xcode也隨著iPhone進化,我們只要透過新的功能特性,即可簡化設計不同螢幕大小的程序!

寫程式同時也在設計(所以才叫做程式設計師),界面最好能夠直接在電腦螢幕上預覽,比起一維的程式碼,二維的畫面更加直覺!在新的專案中,我開始使用「自動佈局(Auto Layout)」技術,設定好後在四種螢幕大小顯示效果相當好,Xcode的各尺寸畫面即時預覽做得相當棒,且看一下我的一個畫面吧!

Xcode 3.5%22 Xcode 4%22 Xcode 4.7%22 Xcode 5.5%22

看得出來由上而下,分別是3.5吋、4吋、4.7吋、5.5吋嗎?我只是做切換預覽的動作,元件就依照我所設定來「自動佈局」!不太需要跑各種螢幕大小的實機模擬器囉~當然如果是用code寫自動佈局,還是要編譯執行跑結果啦:P~

參考:iPhone 4/5/6 手指觸及範圍[寫真] iPhone 5C[寫真] iPhone 6 與 iPhone 6+

iPhone 4/5/6 手指觸及範圍

iPhone螢幕越變越大(對角線:3.5″ -> 4″ -> 4.7″ -> 5.5″),原本一隻拇指就可以觸及大部分螢幕範圍,如今要配合其它手指使用囉~反正只是習慣的問題,早晚會適應的啦!

New iPhone Design Guide

果粉在還沒推出時就已買單,原本嫌棄它的消費者也不知不覺被感染想買了⋯⋯

這張iPhone 4/5/6 手指觸及範圍圖可以說明現行螢幕下,我們拇指所能運用的程度。

iphone-6-screen-size-realistic-usability

參考:

圖片

[iOS] 設計備忘表 (The iOS Design Cheat Sheet)

每次看到精緻的設計圖都會想收集,尤其跟自己工作有關係的特別想要分享,期望自己的生活品質也能像這樣匠心獨具,是成就感也是幸福感

iOS設計備忘表 (The iOS Design Cheat Sheet)讓人一目了然:)~

The-iOS-Design-Cheat-Sheet

點開放大來看就能知道許多令人驚豔細節呢!

參考:The iOS Design Cheat Sheet、彼得潘、The iOS Design Cheat Sheet

台北捷運世界 (The World of Taipei Metro)

看到這張圖真是令我感動,原來還是有設計師童心未泯如我,總是想把生活中的元素變成有趣的玩意兒,常搭捷運上下課(班)的我,已經看慣官方所繪製的台北捷運圖,它是如此簡潔利落,讓看的人一目瞭然旅程的起始點目的地,然而如果能畫得像遊戲RPG地圖,那是不是讓你我都更想搭乘了呢?途中還可以打怪練功撿寶物呢:P

World Taipei Metro

台北捷運世界 (The World of Taipei Metro)

(繼續閱讀…)

iPhone 6 概念機

還沒看到實機之前,我想很多影像都是概念而已,不過看到這些iPhone 6概念機,真的會讓我想要擁有一支!

由於iOS 7扁平化設計,讓iPhone 5與iPhone 6會有相當大的差別,但是設計上依然令人驚艷!

iphone 5 iphone 6 (繼續閱讀…)

標籤雲