반응형
안녕하세요. KataRN입니다.
오늘은 UILabel을 버튼처럼 만들어보려합니다.
단순한 예제를 통해 알아보죠.
1. UILabel을 버튼처럼 누르게 만든다.
2. 누르면 함수를 호출하게 만든다.
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var aBtn: UILabel!
@IBOutlet weak var aLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(change))
aBtn.addGestureRecognizer(tapGestureRecognizer)
}
@objc func change() {
aLabel.text = "버튼 눌렀습니다."
}
}
우선 제스처를 만듭니다. UITapGestureReconizer(target: _, action: _)
taget은 self, action은 눌릴때 호출될 함수를 넣어줍니다.(함수는 텍스트 변경으로 하겠습니다.)
그리고 addGestureReconizer(함수)를 UILabel에 적용합니다.
준비 끝~ 빌드 ㄱㄱ~
????
혹시 저처럼 변화가 없는분 계신가요?
Label이 안눌리도록 설정되어있어서 그렇습니다.
해결방법은 2가지입니다.
스토리보드 or Code ~
1. 스토리보드 : Interaction의 User Interaction Enabled를 체크!
2. Code
// Enable User Interaction
aBtn.isUserInteractionEnabled = true
다시 한번 빌드 ㄱㄱ~
오늘도 긴글 읽어주셔서 감사합니다.
반응형
'Old_SWIFT(221012) > 기본이야기' 카테고리의 다른 글
타이머(DispatchSourceTimer), 시간측정 다루기 (0) | 2022.03.18 |
---|---|
UIControl 객체에 addTarget으로 이벤트 다루기 (0) | 2022.03.18 |
[AutoLayout]UILabel, Hugging Priority, Compression Resistance Priority, Intrinsic Content Size (0) | 2022.02.23 |
TableView 알아보기(UITableViewDatasource, UITableViewDelegate) (0) | 2022.02.02 |
IBInspectable, IBDesignable 다루기 (0) | 2022.01.26 |