![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6LMy6HjeCfgst4SI8jp6jaCRGqeUPshMWHlutum2nIQEWv-nTG-KUb8rc4tiK3hgPDYbtSeEI9IjWr4xv8IE02yq1uyHK-AvrVwyyoEkxRewSV-mC1uLTga3VpwSQnfwA4plUxe3cyuPf/s320/Screen+shot+2011-06-06+at+%25E4%25B8%258A%25E5%258D%258810.33.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKrU6HMgttsiT7inXk4SLGPiv4p9kK-MIvfbMDzJxsZcQD7XR0dV3oy8Clt5VSUWI_BxpVNHBCz0KHTA-kAPPrsiV6F5VFosPglBS_UOtxh0rHZyi2JVxx5zl-DC7bpEYAm7R3FqfoT7RP/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/AVvXsEjsGIILP8hyphenhyphen_YZWaTyU1YUGDxKzbsL0xRJB3t0kiYfuCRFd8-6LLTC_l-_sORE-ytbDQiK018M_vguzZRSMIfkuSkIhSvzwkar5R-6xUkJoUiK2vlhOn40A6MI2lYqe8PhLLzFARlf2JRVA/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/AVvXsEgnJe7pNr6DTAy2C1nXKqeQhDa7WbvivcHcOLG_O_G5gjYf0MOLyMu2IIwOY5mDfRdv__sfN7zKqmMHnLh7RCHS-UOmIQ4wQ1fvqRR6317rvC3LNOtZ5GWaxAKp8CuQW0ZBLJ-xMLni75kT/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/AVvXsEjI5eAkjRiEzmRy0Ra1I4kLIQXM5qi-asmrCKUMzS2Lkp487Zsqc4CdNvZEN4ho0kp89F3lFEG5z7mu3P37iOKB1HCH_8ZQbrvI-XBB4Fa16BoXzgOezTLD5OCk5ms3zjjP3YkVR_EMBF6_/s1600/Screen+shot+2011-06-06+at+%25E4%25B8%258A%25E5%258D%258810.32.png)
最後別忘記在程式中將支援裝置方向的程式碼註解拿掉,並將回傳改成所需要的裝置狀態,如果找不到此程式碼也可以自行在 ViewController.m 中輸入。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
//設定成 return YES 則是以目前裝置的擺設方向來顯示
//目前設定是只以正向(直立)的方式顯示
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
沒有留言:
張貼留言