Computer >> Máy Tính >  >> Lập trình >> IOS

Làm cách nào để vẽ bóng dưới UIView trong iPhone / iOS?

Để làm cho giao diện người dùng của chúng tôi hấp dẫn, chúng tôi phải sử dụng nhiều thuộc tính trong quá trình phát triển iOS. Để vẽ bóng xung quanh Chế độ xem hoặc bên dưới chế độ xem, chúng ta phải thực hiện xung quanh Lớp và Chế độ xem.

Hãy xem điều này theo hai cách.

Phương pháp 1 - Chỉ cần viết mã khi cần thiết.

self.layer.masksToBounds = NO;
self.layer.cornerRadius = 2;
self.layer.shadowOffset = CGSizeMake(-5, 10);
self.layer.shadowRadius = 3;
self.layer.shadowOpacity = 0.3;

Phương pháp 2 - Tạo IBDesignable và IBInspectable và Sử dụng với bảng Story.

@IBDesignable
class DesignableView: UIView { }
extension UIView {
   @IBInspectable
   var shadowRadius: CGFloat {
      get {
         return layer.shadowRadius
      }
      set {
         layer.shadowRadius = newValue
      }
   }
   @IBInspectable
   var shadowOpacity: Float {
      get {
         return layer.shadowOpacity
      }
      set {
         layer.shadowOpacity = newValue
      }
   }
   @IBInspectable
   var shadowOffset: CGSize {
      get {
         return layer.shadowOffset
      }
      set {
         layer.shadowOffset = newValue
      }
   }
   @IBInspectable
   var shadowColor: UIColor? {
      get {
         if let color = layer.shadowColor {
            return UIColor(cgColor: color)
         }
         return nil
      }
      set {
         if let color = newValue {
            layer.shadowColor = color.cgColor
         } else {
            layer.shadowColor = nil
         }
      }
   }
}

Sử dụng tiện ích mở rộng ở trên cho UIView, chúng tôi có thể làm cho các thuộc tính này có thể truy cập được vào tất cả các Bảng phân cảnh và thử nghiệm với các thiết kế mà không cần phải chạy và xem kết quả trên thiết bị. Những thay đổi này sẽ được thực hiện trực tiếp trên bảng phân cảnh. Dưới đây là một ví dụ tương tự.

Làm cách nào để vẽ bóng dưới UIView trong iPhone / iOS?