내가 눌렀을 때 uiview의 테두리 색을 변경하고 해제 후 일반 테두리 색으로 되돌리고 싶습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 아래 그림과 같은UIview의 테두리 색상을 변경하는 방법은 무엇입니까?
답변
이 UITapGestureRecognizer를 사용하지 마십시오. 이 완벽하게 작동합니다
override func viewDidLoad() {
super.viewDidLoad()
let view = UIView.init(frame: CGRect.init(x: 30, y: 200, width: 100, height: 40))
self.view.addSubview(view)
view.layer.borderColor = UIColor.black.cgColor
view.layer.borderWidth = 3
let tapForView = UILongPressGestureRecognizer(target: self, action: #selector(self.toChangeColor(recognizer:)))
tapForView.minimumPressDuration = 0.01
view.isUserInteractionEnabled = true
view.addGestureRecognizer(tapForView)
}
@objc func toChangeColor(recognizer:UILongPressGestureRecognizer)
{
// Apply logic for changing background color.
let view = recognizer.view
if recognizer.state == .began {
view?.layer.borderColor = UIColor.orange.cgColor
print("view began")
}
else if recognizer.state == .ended {
view?.layer.borderColor = UIColor.black.cgColor
print("view ended")
}
}
: 당신은 UILongPressGestureRecognizer
코드를 사용할 수 있습니다.
이것은 완벽하게 작동합니다. 정말 고마워요! – ErikLm
터치에서 –
let tapForView = UITapGestureRecognizer(target: self, action: #selector(self.ToChangeColor(recognizer:)))
tapForView.numberOfTapsRequired = 1
view.isUserInteractionEnabled = true
view.addGestureRecognizer(tapForView)
@objc func ToChangeColor(recognizer:UITapGestureRecognizer)
{
// Apply logic for changing background color
}
당신은있는 viewDidLoad에서 제스처를 추가하고 handleTap 기능 당신이 테두리 색상을 변경할 수 있습니다 UIView
의 테두리 색상을 변경하는 UILongPressGestureRecognizer
를 사용할 수 있습니다.
override func viewDidLoad() {
super.viewDidLoad()
let tap = UILongPressGestureRecognizer(target: self, action: #selector(self.handleTap(_:)))
customeview.addGestureRecognizer(tap)
}
@objc func handleTap(_ sender: UILongPressGestureRecognizer) {
print("Hello World")
if sender.state == .began
{
customeview.layer.borderColor = UIColor.yellow.cgColor
customeview.layer.borderWidth = 3
}
else if sender.state == .ended
{
customeview.layer.borderColor = UIColor.black.cgColor
customeview.layer.borderWidth = 3
}
}
을 도와 드릴 수있어서 기쁩니다. –
UIButton을 올바르게 사용할 수 있습니까? –
UIview로 할 수 있습니까? – ErikLm
예 가능합니다. –