আমি বৃত্তাকার কোণ এবং একটি ড্রপ ছায়া সহ একটি বোতাম তৈরি করার চেষ্টা করছি । আমি কীভাবে স্যুইচ আপ করি না কেন, বোতামটি সঠিকভাবে প্রদর্শিত হবে না। আমি চেষ্টা করেছি masksToBounds = false
এবং masksToBounds = true
, তবে কোণার ব্যাসার্ধটি কাজ করে এবং ছায়াটি কাজ করে না বা ছায়াটি কাজ করে না এবং কোণার ব্যাসার্ধটি বোতামের কোণগুলিকে ক্লিপ করে না।
import UIKit
import QuartzCore
@IBDesignable
class Button : UIButton
{
@IBInspectable var masksToBounds: Bool = false {didSet{updateLayerProperties()}}
@IBInspectable var cornerRadius : CGFloat = 0 {didSet{updateLayerProperties()}}
@IBInspectable var borderWidth : CGFloat = 0 {didSet{updateLayerProperties()}}
@IBInspectable var borderColor : UIColor = UIColor.clearColor() {didSet{updateLayerProperties()}}
@IBInspectable var shadowColor : UIColor = UIColor.clearColor() {didSet{updateLayerProperties()}}
@IBInspectable var shadowOpacity: CGFloat = 0 {didSet{updateLayerProperties()}}
@IBInspectable var shadowRadius : CGFloat = 0 {didSet{updateLayerProperties()}}
@IBInspectable var shadowOffset : CGSize = CGSizeMake(0, 0) {didSet{updateLayerProperties()}}
override func drawRect(rect: CGRect)
{
updateLayerProperties()
}
func updateLayerProperties()
{
self.layer.masksToBounds = masksToBounds
self.layer.cornerRadius = cornerRadius
self.layer.borderWidth = borderWidth
self.layer.borderColor = borderColor.CGColor
self.layer.shadowColor = shadowColor.CGColor
self.layer.shadowOpacity = CFloat(shadowOpacity)
self.layer.shadowRadius = shadowRadius
self.layer.shadowOffset = shadowOffset
}
}
drawRect
খুব ভাল ধারণা নয়। এগুলি রাখা ভালinitWithCoder
।