การแปลง UIColor เป็น CGColor อย่างรวดเร็ว


86

นี่คือรหัส Obj-C:

CGContextSetStrokeColorWithColor(context, [[UIColor lightGrayColor] CGColor]);

ฉันจะเขียนมันอย่างรวดเร็วได้อย่างไร


2
UIColor.lightGrayColor (). CGColor
Andrey Chernukha

1
CGContextSetStrokeColorWithColor(context,UIColor.lightGrayColor.CGColor)
rakeshbs

คำตอบ:


258
// Original answer.
var newColor = UIColor.lightGrayColor().CGColor

// Swift 3 version
var newColor = UIColor.lightGray.cgColor

35
@idmean ฉันไม่คิดว่าจะต้องมีคำอธิบาย คำถามคือขอโค้ดบรรทัดเดียว "ขอสาย Obj-C นี้ใน Swift" คุณคาดหวังคำอธิบายแบบใด นี่คือทั้งหมดที่จำเป็นในการตอบคำถามประเภทนี้
คริส

9
นั่นเป็นเหตุผลว่าทำไมคำถามจึงมีการโหวต 3 คะแนน เพียงเพราะ OP ไม่รู้วิธีถามคำถามเป็นภาษาอังกฤษอย่างถูกต้อง (อาจมีอุปสรรคทางภาษา) ไม่ได้หมายความว่าเขาหรือเธอไม่สมควรได้รับคำตอบสำหรับคำถาม หากไม่มีใครเข้าใจสิ่งที่ถูกถามนั่นก็ต่างออกไป แต่มันง่ายที่จะตีความสิ่งที่ถูกถาม
คริส

8
อย่าปล่อยให้ระบบราชการเข้ามายุ่งเกี่ยวกับการได้รับความรู้
Juan Boero

4

ผิดปกติพอ ๆ กับ Swift ได้พัฒนาไปถึง 3.0 คำตอบก็มีการพัฒนาเช่นกัน ฉันวิ่งข้ามสิ่งนี้ในขณะที่แปลงรหัส Objective C เป็น Swift ฉันหวังว่านี่จะช่วยใครสักคน! :-) นี่คือสิ่งที่เป็นอยู่ในปัจจุบัน:

context.setStrokeColor(UIColor.lightGray.cgColor)

และที่น่าตลกคือคำตอบ "สีเทาอ่อน" นี้ก็ช่วยแก้จุดบกพร่องของโค้ดได้เช่นกัน! ขอบคุณ iou!


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.