Tôi đã sử dụng CGContextSetShadowWithColor()
trong mã bản vẽ Quartz của mình trên iPhone để tạo giao diện "dậm chân" cho văn bản và những thứ khác (trong drawRect:
và drawLayer:inContext:
).CGContextSetShadow() - hướng bóng được đảo ngược giữa iOS 3.0 và 4.0?
Làm việc hoàn hảo, nhưng khi chạy chính xác mã tương tự với iOS 3.2 và bây giờ iOS 4.0, tôi nhận thấy rằng các bóng là tất cả theo hướng ngược lại. Ví dụ. trong đoạn mã sau, tôi đặt một bóng đen là 1 pixel ở trên văn bản, cho giao diện "được nhấn" và bây giờ bóng này là 1px bên dưới văn bản, tạo cho nó một bóng tiêu chuẩn.
...
CGContextSetShadowWithColor(context, CGSizeMake(0.f, 1.f), 0.5f, shadowColor);
CGContextShowGlyphsAtPoint(context, origin.x, origin.y, glyphs, length);
...
Bây giờ tôi không biết mình (hoặc đã) đang làm điều gì sai hoặc liệu có thay đổi gì đối với việc xử lý cài đặt này hay không. Tôi đã không áp dụng bất kỳ chuyển đổi nào có thể giải thích điều này với tôi, ít nhất là không cố ý. Tôi đã lật ma trận văn bản trong một trường hợp, nhưng không phải trong trường hợp khác và hành vi này là nhất quán. Plus tôi đã không thể tìm thấy bất cứ điều gì về điều này trong Ghi chú phát hành SDK, vì vậy có vẻ như nó có thể là tôi. Điều gì có thể là vấn đề?
Tôi đã gặp sự cố tương tự trong ứng dụng của mình. Tôi sẽ nhận thấy nếu đồ họa của tôi bị lộn ngược, vì vậy tôi biết nó không phải là một sự kỳ quặc với ma trận biến đổi. Lỗi hệ điều hành có vẻ giống như lời giải thích duy nhất. – qrunchmonkey