Я добавил subview со своим классом UIView LogoLineView.swift в супервизор ViewController.swift.Безье не видно, когда ограничения добавляются по отношению к другим элементам в супервизии
Внутри моей надтаблицы в моей раскадровке у меня есть 3 элементов пользовательских интерфейса:
- этикетка с некоторым цветным текстом, чтобы имитировать логотип «Hello World»
- тогда, у меня подвид около 5 точек в по высоте и по ширине может быть там, где я намерен провести горизонтальную линию, которая наполовину синие и половина красного
- наконец, у меня есть еще один ярлык только с каким-то серым текстом
Теперь в моем подвид классе (LogoLineView.swift) Я перекрывая DrawRect, как показано ниже:
class LogoLineView: UIView {
var lineWidth: CGFloat = 0.5 {didSet { setNeedsDisplay() } }
var blueLineColor: UIColor = UIColor.blueColor() { didSet { setNeedsDisplay() } }
var redLineColor: UIColor = UIColor.redColor() { didSet { setNeedsDisplay() } }
var subViewCenter: CGPoint {
return convertPoint(center, fromView: superview)
}
override func drawRect(rect: CGRect) {
var blueLinePath = UIBezierPath()
blueLinePath.moveToPoint(subViewCenter)
blueLinePath.addLineToPoint(CGPoint(x: bounds.minX, y: bounds.midY))
blueLinePath.lineWidth = lineWidth;
blueLineColor.set()
blueLinePath.stroke()
var redLinePath = UIBezierPath()
redLinePath.moveToPoint(subViewCenter)
redLinePath.addLineToPoint(CGPoint(x: bounds.maxX, y: bounds.midY))
redLinePath.lineWidth = lineWidth;
redLineColor.set()
redLinePath.stroke()
}
}
Проблема, которую я имею что когда я добавить ограничения на subview по отношению к другим элементам в супервизе, моя нарисованная линия не видна.
Однако, если удалить все остальные элементы в моей надтаблице и оставить только подвид, то я могу видеть мою линию, проведенную именно так, как я хочу.
Я хочу, чтобы моя линия была нарисована между текстом «Hello World» и текстом «Это мой первый раз, используя Core Graphics и Bezier Paths». И я хочу, чтобы эта строка была способна адаптироваться к любому размеру экрана.
Ограничения, которые я использую ниже:
- "Hello World" ограничения:
- подвид рисовать ограничения линии:
- серый текст «Это мой первый раз, используя сердечник Графика и Безье ":
Не могли бы вы помочь мне найти то, чего не хватает? Я очень новичок в использовании Core Graphics и Bezier Paths. Спасибо.
Работает ли он, если вы меняете 'lineWidth' на' 1' или '2'? Является ли ваш симулятор увеличенным до 100%? –