Avatar ·

كيفية تدوير زوايا محددة فقط لـ View في SwiftUI؟

مرحبًا بالجميع! أنا مبتدئ في SwiftUI وواجهت مشكلة: أحتاج إلى تدوير الزاويتين العلويتين فقط لـ View مستطيل، مع ترك الزوايا السفلية مستقيمة. في UIKit العادي كنت أستخدم UIBezierPath و CAShapeLayer، ولكن في SwiftUI، يبدو أنه لا يوجد modifier مباشر للتدوير الانتقائي.

حاولت استخدام .cornerRadius(20)، لكنه يدور جميع الزوايا الأربع. كما قرأت عن .clipShape(RoundedRectangle(cornerRadius: 20))، لكن هذا أيضًا لا يحل المشكلة — يتم تدوير جميع الزوايا.

إليك مثال على الكود الخاص بي:

struct ContentView: View {
    var body: some View {
        VStack {
            Text("مرحبًا، أيها العالم!")
                .padding()
                .background(Color.blue)
                .cornerRadius(20) // يدور جميع الزوايا
        }
        .padding()
    }
}

أحتاج إلى أن تكون الزوايا العليا مدورة، بينما تبقى الزوايا السفلية مستقيمة. كيف يمكنني فعل ذلك في SwiftUI؟ هل هناك