我想在我的應用中創建網格線方法並允許用戶打開/關閉網格視圖。它不需要進行任何類型的觸摸檢測或與之相關的邏輯。只需網格線讓用戶看到並打開/關閉它們。這個明顯的解決方案是將網格圖像添加到我的視圖中,並在需要時使用imageview顯示它。但這是我不能採取的一種選擇。我必須通過編程來完成。謝謝你的時間。我計劃實施的image。有任何想法嗎 ?核心圖形還是許多uiviews?創建網格線並允許用戶打開/關閉網格線視圖
2
A
回答
1
結束了使用此:
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"sample.png"]];
1
子類UIView並在那裏創建單獨的2個循環。一個用於垂直線,另一個用於水平線。 在垂直線循環中,創建UIView的1px寬和768px高。在水平方向上,創建1px高,1024px寬。
要隱藏和顯示它,只需將subclassed視圖的隱藏屬性切換爲YES或NO。
你可能沒有子類化,也可以使用標準的UIView。
0
我已經Swift3
class GridView: UIView {
var numberOfColumns: Int = 2
var numberOfRows: Int = 2
var lineWidth: CGFloat = 1.0
var lineColor: UIColor = UIColor.white
override func draw(_ rect: CGRect) {
if let context = UIGraphicsGetCurrentContext() {
context.setLineWidth(lineWidth)
context.setStrokeColor(UIColor.white.cgColor)
let columnWidth = Int(rect.width)/(numberOfColumns + 1)
for i in 1...numberOfColumns {
var startPoint = CGPoint.zero
var endPoint = CGPoint.zero
startPoint.x = CGFloat(columnWidth * i)
startPoint.y = 0.0
endPoint.x = startPoint.x
endPoint.y = frame.size.height
context.move(to: CGPoint(x: startPoint.x, y: startPoint.y))
context.addLine(to: CGPoint(x: endPoint.x, y: endPoint.y))
context.strokePath()
}
let rowHeight = Int(rect.height)/(numberOfRows + 1)
for j in 1...numberOfRows {
var startPoint = CGPoint.zero
var endPoint = CGPoint.zero
startPoint.x = 0.0
startPoint.y = CGFloat(rowHeight * j)
endPoint.x = frame.size.width
endPoint.y = startPoint.y
context.move(to: CGPoint(x: startPoint.x, y: startPoint.y))
context.addLine(to: CGPoint(x: endPoint.x, y: endPoint.y))
context.strokePath()
}
}
}
}
用它進行並設置其背景色爲clear
。
該代碼也存在here
相關問題
- 1. KineticJs:爲拼圖創建網格線
- 2. 允許用戶更改數據網格視圖的列順序
- 3. 網格線開關HMTL5帆布
- 4. 網格線不打印
- 5. 如何在LargeIcon視圖中創建ListView網格線?
- 6. 網格線格式
- 7. jQuery UI,捕捉網格示例,創建網格線?
- 8. 創建透明的網格線
- 9. Kendo DropDownList在網格中首次點擊時打開並關閉
- 10. 圖表網格線樣式
- 11. 圖形從軸+網格線
- 12. 允許WPF網格單元格內容在網格單元格之外展開?
- 13. 點擊表格視圖單元格打開地圖與路線
- 14. 網格視圖內的網格視圖
- 15. 關於網格視圖的建議
- 16. 軸格式和網格線
- 17. 關於網格視圖
- 18. 在網格上顯示網格線
- 19. 如何創建網格視圖?
- 20. 創建一個靜態網格視圖
- 21. 編程創建網格視圖
- 22. 網格視圖的編程創建
- 23. 透明網格線
- 24. 網格線在HTML
- 25. 應用程序是否允許用戶打開或關閉iCloud?
- 26. 使用Javascript創建網格網格
- 27. 從Xpages視圖導出到Excel並保持網格線
- 28. 動態關閉並打開表格行
- 29. 創建視圖只允許帳戶
- 30. 谷歌可視化折線圖刪除水平網格線
感謝您的回覆。是的,這似乎是一個簡單的方法。看看更新。爲此,我將不得不創建至少40個不同邊界寬度的用戶界面,並實施邏輯來定位它們? – Viraj
對於虛線我可能會使用一個圖像,但是,似乎這就是你必須要做的。由於這些都是非常簡單的UIView的,你不應該對這個解決方案有任何問題。 – margusholland
好的,但問題是我不能使用圖像。我將需要一個備用解決方案。 – Viraj