Size: a a a

2020 May 28

ET

Elena Tsegelnik in SwiftBook
почему диаграмма не рисуется в центре экрана?
источник

ET

Elena Tsegelnik in SwiftBook
import UIKit

class CircleGraphView: UIView {
   
var endArc:CGFloat = 0.0 {   // in range of 0.0 to 1.0
       
didSet{
           setNeedsDisplay()
       }
   }
   
var arcWidth:CGFloat = 30.0
   
var arcColor =  colorLiteral(red: 0, green: 0.4943938851, blue: 0.9980103374, alpha: 1)
   
var arcBackgroundColor =  colorLiteral(red: 0.9520987868, green: 0.9522580504, blue: 0.952077806, alpha: 1)
   
   
func drawMe() {
       
       //Important constants for circle
       
let fullCircle = CGFloat(2.0 * Double.pi)
       
let start:CGFloat = -0.25 * fullCircle
       
let end:CGFloat = endArc * fullCircle + start
       
       //define the radius by the smallest side of the view
       
       
let center = self.center
       
let bounds = self.bounds
       
let frame = self.frame
       
var radius:CGFloat = 0.0
       
if bounds.width > bounds.height{
           radius = (bounds.height - arcWidth) / 2.0
       }
else{
           radius = (bounds.width - arcWidth) / 2.0
       }
       
       //светло-серый фон
       
let backPath = UIBezierPath(arcCenter: CGPoint(x: center.x, y: center.y), radius: radius, startAngle: start, endAngle: start + fullCircle, clockwise: true)
       print (backPath)
       
let backLayer = CAShapeLayer()
       backLayer.bounds =
self.bounds
       backLayer.path = backPath.cgPath
       backLayer.lineWidth = arcWidth
       backLayer.strokeColor = arcBackgroundColor.cgColor
       backLayer.fillColor = UIColor.clear.cgColor
       
self.layer.addSublayer(backLayer)
       
       //синий круг
       
let fillPath = UIBezierPath(arcCenter: CGPoint(x: center.x, y: center.y), radius: radius, startAngle: start, endAngle: end, clockwise: true)
       print (fillPath)
       
let fillLayer = CAShapeLayer()
       fillLayer.bounds =
self.bounds
       fillLayer.path = fillPath.cgPath
       fillLayer.lineWidth = arcWidth * 0.8
       fillLayer.lineCap = .round
       fillLayer.strokeColor = arcColor.cgColor
       fillLayer.fillColor = UIColor.clear.cgColor
       
self.layer.addSublayer(fillLayer)
       
   }
   
}
источник

В

Ваня in SwiftBook
Elena Tsegelnik
почему диаграмма не рисуется в центре экрана?
Потому что ты указываешь центр своей вьюхи относительно родителя
источник

В

Ваня in SwiftBook
Elena Tsegelnik
import UIKit

class CircleGraphView: UIView {
   
var endArc:CGFloat = 0.0 {   // in range of 0.0 to 1.0
       
didSet{
           setNeedsDisplay()
       }
   }
   
var arcWidth:CGFloat = 30.0
   
var arcColor =  colorLiteral(red: 0, green: 0.4943938851, blue: 0.9980103374, alpha: 1)
   
var arcBackgroundColor =  colorLiteral(red: 0.9520987868, green: 0.9522580504, blue: 0.952077806, alpha: 1)
   
   
func drawMe() {
       
       //Important constants for circle
       
let fullCircle = CGFloat(2.0 * Double.pi)
       
let start:CGFloat = -0.25 * fullCircle
       
let end:CGFloat = endArc * fullCircle + start
       
       //define the radius by the smallest side of the view
       
       
let center = self.center
       
let bounds = self.bounds
       
let frame = self.frame
       
var radius:CGFloat = 0.0
       
if bounds.width > bounds.height{
           radius = (bounds.height - arcWidth) / 2.0
       }
else{
           radius = (bounds.width - arcWidth) / 2.0
       }
       
       //светло-серый фон
       
let backPath = UIBezierPath(arcCenter: CGPoint(x: center.x, y: center.y), radius: radius, startAngle: start, endAngle: start + fullCircle, clockwise: true)
       print (backPath)
       
let backLayer = CAShapeLayer()
       backLayer.bounds =
self.bounds
       backLayer.path = backPath.cgPath
       backLayer.lineWidth = arcWidth
       backLayer.strokeColor = arcBackgroundColor.cgColor
       backLayer.fillColor = UIColor.clear.cgColor
       
self.layer.addSublayer(backLayer)
       
       //синий круг
       
let fillPath = UIBezierPath(arcCenter: CGPoint(x: center.x, y: center.y), radius: radius, startAngle: start, endAngle: end, clockwise: true)
       print (fillPath)
       
let fillLayer = CAShapeLayer()
       fillLayer.bounds =
self.bounds
       fillLayer.path = fillPath.cgPath
       fillLayer.lineWidth = arcWidth * 0.8
       fillLayer.lineCap = .round
       fillLayer.strokeColor = arcColor.cgColor
       fillLayer.fillColor = UIColor.clear.cgColor
       
self.layer.addSublayer(fillLayer)
       
   }
   
}
let center = CGPoint(x: frame.width/2, y: frame.height/2)
источник

ET

Elena Tsegelnik in SwiftBook
Ваня
Потому что ты указываешь центр своей вьюхи относительно родителя
Спасибо. а как надо?
источник

В

Ваня in SwiftBook
Elena Tsegelnik
Спасибо. а как надо?
Написал в пред. сообщении
источник

ET

Elena Tsegelnik in SwiftBook
Ваня
Написал в пред. сообщении
не работает, тоже самое 😭
источник

В

Ваня in SwiftBook
Elena Tsegelnik
не работает, тоже самое 😭
Напиши в лс
источник

А

Алешка in SwiftBook
Всем привет, что за такое предупреждение ? Как его убрать
Появляется когда меняешь ориентацию устройства
источник

I

Ivan in SwiftBook
Алешка
Всем привет, что за такое предупреждение ? Как его убрать
Появляется когда меняешь ориентацию устройства
Написано же всё.
источник

A

Alim in SwiftBook
Такой алёрт при попытке воспользоваться блютузом появился только в iOS 13?
источник

AS

Anton Stremovskiy in SwiftBook
Alim
Такой алёрт при попытке воспользоваться блютузом появился только в iOS 13?
Да. Теперь это автоматический запрос
источник

A

Alim in SwiftBook
Anton Stremovskiy
Да. Теперь это автоматический запрос
Понял, спасибо
источник

P

Pavel in SwiftBook
13
Всем привет. Далеко не первый раз работаю с констрейнтами но в этот раз они меня победили. Почему то не тянется стэк вью когда его закрепляю констрейнтами. Верхние и нижние объекты прикреплены 3мя констрейнтами к safeArea и зафиксированы по высоте. Что сделать, чтоб стэк вью растянулся по высоте и ширине автоматически?
это 2017 года курс?
источник

1

13 in SwiftBook
Pavel
это 2017 года курс?
Да
источник

P

Pavel in SwiftBook
13
Да
👍
источник

1

13 in SwiftBook
Pavel
👍
Ага. Лучшее что изучал. Первый раз, понятно вообще всё
источник

А

Алешка in SwiftBook
Ivan
Написано же всё.
Вижу что написанно. Но не понимаю как исправить.
источник

I

Ivan in SwiftBook
Алешка
Вижу что написанно. Но не понимаю как исправить.
источник

RM

Ruslan Markov in SwiftBook
чем можно подключить к одному чату двух рандомных пользователей?
источник