jQuery.fn
определяется сокращением для jQuery.prototype
. Из исходного кода :
jQuery.fn = jQuery.prototype = {
// ...
}
Это означает, что jQuery.fn.jquery
является псевдонимом для jQuery.prototype.jquery
, который возвращает текущую версию jQuery. Снова из исходного кода :
// The current version of jQuery being used
jquery: "@VERSION",
Что бы я сделал, это нарисовать слой градиента, затем нарисуйте поверх этого слоя, который является черным с удаленной дугой.
Вот моя попытка примерно на изображении, которое вы предоставили (я опустил белый метка в центре, но это тривиально):
[/g1]
И вот код, который сгенерировал его:
let r = CGRectMake(100,100,130,100)
let g = CAGradientLayer()
g.frame = r
let c1 = UIColor(
red: 151.0/255.0, green: 81.0/255.0, blue: 227.0/255.0, alpha: 1)
let c2 = UIColor(
red: 36.0/255.0, green: 176.0/255.0, blue: 233.0/255.0, alpha: 1)
g.colors = [c1.CGColor as AnyObject, c2.CGColor as AnyObject];
self.view.layer.addSublayer(g)
let percent = CGFloat(0.64) // percentage of circle
UIGraphicsBeginImageContextWithOptions(r.size, false, 0)
let con = UIGraphicsGetCurrentContext()
CGContextFillRect(con, CGRect(origin: CGPoint(), size: r.size))
CGContextSetLineWidth(con, 5)
CGContextSetLineCap(con, kCGLineCapRound)
CGContextSetBlendMode(con, kCGBlendModeClear)
let pi = CGFloat(M_PI)
CGContextAddArc(con, r.size.width/2.0, r.size.height/2.0, 30,
-pi/2.0, -pi/2.0 + percent*pi*2.0, 0)
CGContextStrokePath(con)
let im = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let b = CALayer()
b.frame = r
b.contents = im.CGImage
self.view.layer.addSublayer(b)
градиентный слой (первая часть кода) - это просто «предложение обслуживания». Если это не тот градиент, который вы хотите, вы можете создать свой собственный. Вы можете нарисовать его в Photoshop и использовать изображение в качестве содержимого слоя градиента. Или вы можете сделать «угловой» слой в коде, используя сторонний код, например https://github.com/paiv/AngleGradientLayer . Цель примера - просто показать, как можно «стереть» дугу в черном слое, чтобы выявить скрытый за ним градиент и, как представляется, рисовать градиентом.