2
我試圖實現一個甜甜圈圖,但我努力保持標籤互不重疊。我正在尋找清潔解決方案的想法來避免這種情況。防止UIViews重疊
段和標籤類看起來如此:
class Segment {
var index: Double?
var tagText: String?
}
class SegmentTag: UIView {
@IBOutlet var iconView: UIImageView!
@IBOutlet var textLabel: UILabel!
init(text: String?, icon: UIImage?, frame: CGRect) {
...
}
}
在該圖中的類,這些段和標籤在拉伸(被繪製_ RECT :):
override func draw(_ rect: CGRect) {
for tag in tags {
tag.removeFromSuperview()
}
tags = [UIView]()
let tagSize = CGSize(width: 50, height: 60)
for segment in segments {
// ... Draw each segment
let radius = ...
let angle = ...
let tag = SegmentTag(text: segment.tagText, icon: tagIcon, frame: tagRect)
var tagPoint = CGPoint(x: radius * cos(angle),
y: radius * sin(angle))
var tagRect = CGRect(origin: tagPoint, size: tagSize)
self.addSubview(tag)
tags.append(tag)
}
}
你會如何避免重疊的意見?
我遇到過類似的問題,可以通過改變行的長度來緩解問題。但是,如果將大量較小的值聚集在一起,則仍會遇到同樣的問題。我不得不在一個單獨的表格視圖中實現一個圖例。 – TheAppMentor