轉貼:http://furnacedigital.blogspot.tw/2011/06/xcode.html
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIOsBuGTJCPiQzGE0zWAhjGs6bzvIumh-9QIcADP6qHAmQD4pPyzaZstEn4kv01RxjaADhBas3uMfLnRJxhHY6qEg6B3e-BQi37cKMXkgoepUxxxVPlMFBqwrFf3U3jAIx2WMdboG83QeN/s320/Screen+shot+2011-06-06+at+%25E4%25B8%258A%25E5%258D%258810.33.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI9wkMsv7_ZY6Yss4i94EScKUQlsH_QoLi1OLK2cfgf83gEwGZIz8ZIkRfizWFqmB0fpixxc8A7vNI6AmjxG5YGSgMzfCfVbP3yFV8fnSY0RsayXm2afN4ru5kicTD4baDQv-K9Zira6PM/s320/S2011-06-06+at+%25E4%25B8%258A%25E5%258D%258810.32.png)
橫向介面指的是 Landscape Left 或 Landspace Right 如上圖右,這類的應用很常在遊戲中被使用,下面將以 Xcode 4 為例,示範如何在設計介面時就使用橫向的方式來設計。
在開啟專案之後可以在 Target 中找到 Supported Device Orientations 支援裝置的方向的項目,在此項目中被選取(按下)的方向則代表有支援,由下圖可以得知此專案支援直立與左橫置。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj86Uo-jNgkc3dSiPeGrD9mIWRAcRjHFWm92wMXKHsht9nd2NiaPoeME6Us6DBKpWOuqFgR4nhykAH1xOhXc1aWwpbRGJarg1Vsh25XHFlsWTm7JqCqhyCuGgIdUs1xpxZpelwybhmX3Dvl/s1600/Screen+shot+2011-06-06+at+%25E4%25B8%258A%25E5%258D%258810.30.png)
設定好裝置能夠支援的方向之後,接下來回到 Interface Builder 中,選取整個 View 並在 Attributes 屬性分頁中找到 Simulated Metrics 項目,將其中的 Orientation 分項由 Portrait 改成 Landspace,如下圖。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCFNHxsD3pHRrT2S-w-9Ro_-mamtkgx4KBtCLwMczV6K26yMR0gP_Np0kBv_j-63fi9Ejjsa-aYHyAwOxmn0IMExcjeaQ6Vo36vghUaieym747bhopGD8BhwK4KBg1TOJABeBXZvFYUUd5/s1600/creen+shot+2011-06-06+at+%25E4%25B8%258A%25E5%258D%258810.30.png)
此時 View 就會變成橫置,就可以使用橫向的方式來設計所要的介面了。
如果介面支援多種方向(直立或是橫置),在製作介面時還必須注意元件的 AutoSizing 自動縮放,由於兩種方向的螢幕解析度剛好相反,如果不拿掉自動縮放的功能,畫面裝置轉換方向時,View 上面的元件很有可以能會因為解析度的關係因此變形,移除自動縮方的方式只要在 Size 屬性分頁中將 AutoSizing 的雙箭頭拿掉即可,如下圖。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYQUjdUWlda62H5x8O6uhaEl73ChJIFk0JkXrqfTizOeavGPpkUWmH6G4aBuz-io1-tSsNxhHoilG-seXMobTOMSi32s-00eEQy9TqLPEPL4yEQuL8eXvGhvqHcYmfjAdupchl3Q-QHrmt/s1600/Screen+shot+2011-06-06+at+%25E4%25B8%258A%25E5%258D%258810.32.png)
最後別忘記在程式中將支援裝置方向的程式碼註解拿掉,並將回傳改成所需要的裝置狀態,如果找不到此程式碼也可以自行在 ViewController.m 中輸入。
1
2
3
4
5
6
7
|
沒有留言:
張貼留言