2016年2月17日 星期三

iOS筆記:iOS9 Auto Layout & Stack

為什麼是點(Points)而不是像素(Pixels)

主要是因為顯示器解析度的不同, 而點系統讓我們可以不論螢幕解析度的變化, 這些煩人的問題讓iOS自己去處理就好, 我們依舊是面對點與最基本的解析度(4/4s的320*480 and 5/5s的320*568)

Size Class

此為擁有自適應性佈局的一個重要觀念. 尺寸類別的概念, 即一個裝置如何依照他的螢幕尺寸與方向來做分類. 可以同時使用Size Class and Ato Layout來設計自適應介面.

尺寸類別指出了水平跟垂直的顯示空間的相對量.
尺寸類別型態:
1. Regular, 表示較大的畫面空間
2. Compact, 表示較小的畫面空間

enter image description here

介紹:http://cg2010studio.com/2014/12/13/ios-%E5%A4%A7%E5%B0%8F%E9%A1%9E%E5%88%A5-size-class/

Auto Layout

如果把已經約束好的介面做了更動, 可以點選黃色按鈕, 介面建構器會很聰明地幫我們解決佈局的問題. 點選問題旁邊的指示圖標, 如下下圖選擇“Update Frame” 按鈕就會回到視圖中間.
enter image description here

enter image description here

Storyboard預覽

在Xcode7中提供開發者預覽的功能, 可以在Xcode中取得UI的預覽圖.

記得按著”Option”鍵然後點選Main.storyboard(Preview)
enter image description here

可以點選“+”按鈕來新增不同尺寸的視窗.
enter image description here

Stack View

提供一個簡化的介面, 以行或列來佈局視圖的集合. 原理就是加多個UI物件群組起來,讓他們可以當作一個單一物件來移動或調整大小.

對於嵌入堆疊視圖內的視圖, 一般稱作”Arrangeed View”

Xcode7提供兩種方式實現Stack View
1. 從元件庫中拖曳一個StackView(horizontal/vertical), 並置於storyboard中. 然後就可以拖曳或放置標籤 按鈕等…
2. 也可以在Auto Layout選單中選取Stack選項.

如果想選取Stack中的某個視圖, 可以按住Shift鍵並在堆疊視圖按右鍵. 就會出現一個快捷選單.

限制堆疊視圖不管螢幕大小如何, 都保持固定的寬高比(Aspect Ratio)

在文件大綱視圖中, 在stackView上按住Ctrl鍵拖曳, 然後選取Aspect Ratio.

沒有留言:

張貼留言