<xmp id="e0gg0">
  • <nav id="e0gg0"><strong id="e0gg0"></strong></nav>
    <nav id="e0gg0"><strong id="e0gg0"></strong></nav>
    <menu id="e0gg0"></menu>

    6.3.2 交互模型的構建方法

    正如我們在前文中提到的,交互建模用來對應用當中的交互模式進行定義,它同時還詮釋了這些交互模式是以怎樣的方式被整合成為具有高度一致性的、容易被用戶理解的交互模型的。我們曾經在第二章里對iOS交互環境的概念模型和空間模型進行了解析。其中,交互空間及其三個組成層面的概念共同構成了iOS中的基礎交互模型 (見圖 6-1)。這個例子充分地體現出了交互建模的設計思想所具有的強大力量。

    《iOS Wow Factor》全書譯文精選

    圖6-1 ?iOS空間模型及它的三個層面

    在構建交互模型的工作中,要盡量保持一種抽象化的思維方式。我們需要在不觸及具體功能和內容的前提下,對產品有可能涉及到的交互行為進行思考,了解它們是怎樣被用于控制界面交互對象的。在這方面,iOS為我們提供了大量的候選方案。諸如縮放、拖移、滑動、輕掃、滾動等基本手勢都可以被賦予很多有意思的功能;無論是各自為戰,還是協同配合,這些操作行為通??梢詭椭覀儎摻ǔ鼍哂胁町惢慕换シ绞?。

    你可以對各種模式進行自由的嘗試,并思考它們能夠以怎樣的方式幫助你解決在設計方案當中遇到的問題。除此之外,能否使設計方案具有足夠的彈性及擴展性,并且能夠被用戶很好地理解,這同樣是需要我們思考和解決的問題。

    我們來做一組小練習。首先,想象出一個簡單的用戶界面,譬如一個列表視圖。列表是一種最常見的用戶界面對象,它具有很廣泛的用途。傳統意義上的列表通常由多個文本對象在縱向上排列而成。

    《iOS Wow Factor》全書譯文精選

    圖6-2 ?一個典型的列表

    從抽象的層面來說,列表到底是什么呢?列表的基本概念,就是一個由若干可選擇對象所組成的隊列。進一步思考,你還會發現,其實列表項并非一定要以縱向的方式進行排列,而且每一行也未必只能包含一個列表項。所以我們可以問問自己,對于在實際設計方案當中需要解決的具體問題來說,是否有更好的列表形式可以勝任?關于這個問題的答案通常不是顯而易見的,我們需要思考并嘗試一些不同的方案,看看它們能否帶來有一些意思的變化。如果典型的單列縱向列表無法滿足我們的需求,那么橫向的方案又如何呢?(見圖 6-3)

    《iOS Wow Factor》全書譯文精選

    圖6-3 ?橫向列表

    看上去很有趣,不過也許你已經注意到了,在這種模式里,屏幕可視區域當中的列表項數量是非常有限的,特別是在豎屏狀態下。如果不考慮任何上下文環境,那么這也算不上是很大的問題;但在實際使用當中,如果沒辦法一次看到很多列表項,那么要對整個列表進行快速瀏覽的話,用戶必須頻繁的執行滾屏操作。很顯然,這種方式在效率方面存在很大問題。在橫屏狀態下,情況會相對好些,但仍然不是很理想。

    讓我們繼續擴展思路,看看是否還有其他更加合理的差異化解決方案。如果說單列形式的列表無法令人滿意,那么如果我們將其中的每一行擴展為一個隊列,使整個列表變成網格形式,情況又會如何呢?(見圖 6-4)

    《iOS Wow Factor》全書譯文精選

    圖6-4 ?網格狀的列表模式

    事情開始變得有趣了。在這種模式下,我們可以同時看到更多的列表項,相比于傳統的單列縱向列表,這確實是一個不錯的改進。但它所帶來的弊端也是很明顯的,那就是每個列表項的實際尺寸都變小了,這給其中的文本對象造成了很大的局限。不過我們還是可以通過控制文本對象的字號來從一定程度上解決這個問題。

    在這組小練習當中,我們僅僅對一個簡單的列表進行了差異化的思考與擴展性的嘗試,就幾乎已經徹底改變了這個對象的基本概念及呈現方式。而實際上,對于這個列表來說,我們能做的還遠不止這些。接下來,讓我們換一個角度,對涉及到列表對象的交互行為進行探索。在iOS當中,我們可以通過上下滾屏來瀏覽一個典型的單列縱向列表,那么這種方式同樣適用于網格狀的列表嗎?(見圖 6-5)

    《iOS Wow Factor》全書譯文精選

    圖6-5 ?縱向滾屏的瀏覽方式應用在兩種列表方案中

    完全沒問題。不過必須記得,滾屏瀏覽的方式雖然適合于我們當前的這個特定的案例,但它未必在所有的情況下都適用。要在某種新的界面對象模型當中使用現有的交互方式,你必須做好充分的評估工作。

    回到這個例子當中。接下來讓我們對這個網格形式的列表進行一些抽象化的分析。標準的iOS單列縱向列表對象通常是支持滾動操作的,而且滾動的方向僅限于y軸上,因為列表項都是縱向排列在同一列當中的。那么對于擁有兩個維度的網格狀列表來說,滾動的方式能否得到相應的擴展呢?

    《iOS Wow Factor》全書譯文精選

    圖6-6 ?多維滾動與行內滾動

    如圖所示,我們可以通過多種方式將滾動行為運用到網格狀的列表當中(見圖 6-6)。通過這一系列的實例,我們可以看出,基于已有的對象模型及交互方式來構建新的概念其實并不是非常困難的事情。列表的例子只是一個起點,你還可以對很多模型和元素進行差異化的改造。這種設計思路可以幫助我們在產品當中打造各種豐富的交互方式。

     

    啊灬啊灬啊灬快灬片免费
    <xmp id="e0gg0">
  • <nav id="e0gg0"><strong id="e0gg0"></strong></nav>
    <nav id="e0gg0"><strong id="e0gg0"></strong></nav>
    <menu id="e0gg0"></menu>