我試圖設計一個如下所示的屏幕。我可以爲幾個設備(例如iPhone 5和5S)進行此設計。這意味着我的應用程序可以在iPhone 5和5S上正常運行。但是當我嘗試在iPhone 6或6S上運行它時,我的設計被破壞並中斷。我如何爲所有設備進行通用設計?適應所有具有自動佈局的設備
-3
A
回答
2
這裏是一個函數,給出了一個CGPoint從中心偏移,對於給定指標
func offset(forIndex index: Int) -> CGPoint {
let part = M_PI/11.0
let phi = part * Double(index)
let x = Double(UIScreen.mainScreen().bounds.width) * sin(phi)
let y = Double(UIScreen.mainScreen().bounds.height) * cos(phi)
print("----")
print("index \(index)")
print("x \(x)")
print("y \(y)")
return CGPoint(x: CGFloat(x), y: CGFloat(y))
}
有了這個功能,你可以定位你的按鈕相應
+0
我更喜歡使用自動佈局來實現這種自定義的策略。 –
0
所以,這裏有一個我以前用過的圖案:
灰色條只是UIViews的擴大和縮小,以保持所有的按鈕在不同的屏幕上相同的間隔。在你的實際設計中,這些將是透明的。這些視圖中的每一個都有一個限制,使它們具有相同的高度 - 這將保持按鈕之間的空間相等,而不管屏幕的垂直大小如何。
其他約束是中間按鈕被限制爲垂直居中,並且每個按鈕的包含視圖的尾部空間增加。每個按鈕是也約束有0點的間距上方和下方的看法。
當你在一個小屏幕上運行這個,間隔將收縮,並在一個更大的屏幕上,他們會增長。在較大的屏幕上,如果設置爲使用固有尺寸,您還應該獲得更大的按鈕。
這不會保留橢圓的形狀,但你可以使按鈕的x座標與屏幕寬度成正比,我猜。取決於你的目標是整體外觀。
相關問題
- 1. 爲所有設備自動佈局UIImage
- 2. 所有設備的自舉列布局
- 3. 在所有設備上都有適當佈局的程序android
- 4. 所有設備的Android單屏佈局
- 5. 自動佈局背景圖像在所有設備上工作
- 6. 具有自動佈局的典型UITableViewCell
- 7. 具有自動佈局的動態uiview佈局
- 8. iOS 7自動佈局與iOS 8自適應佈局是否有區別?
- 9. 在所有設備上具有額外的相同佈局。怎麼樣?
- 10. 多設備中的Swift自動佈局
- 11. iPad的自適應佈局
- 12. css的自適應佈局
- 13. iOS自動佈局重設我的所有圖像位置
- 14. 準備應用程序在3.5「和4」沒有自動佈局
- 15. 自適應佈局移動問題
- 16. Qt佈局內容自動適應
- 17. 佈局不適合所有屏幕
- 18. 建設適應佈局RelativePanel
- 19. Differerentiate佈局具有相同的DPI兩個設備
- 20. 具有不規則佈局的Android HDPI設備
- 21. 支持具有不同佈局的不同設備
- 22. 自適應2列布局
- 23. 適合所有方向的設計佈局
- 24. 將px值分配給所有Android設備的佈局
- 25. 所有設備的Android XML佈局(小/普通/大/ XLarge等)
- 26. 實際設備上的佈局顯示有所不同
- 27. UWP - 使用XAML爲所有設備構建漂亮的佈局
- 28. 適用於所有移動設備的相同設計
- 29. HTML響應所有設備
- 30. 設計具有不同佈局的RecyclerView
使用自動佈局。 – Moritz
你可以在這裏發佈你的代碼給我們看嗎? – keithbhunter
我已經使用Autolayout,所以我沒有代碼。 – Alp