좋은 네트워킹 이었다! (간단한 소감은 블로그에)
네트워킹을 통해 스그가 근본(?)이라는 것을 배우게 되었다(?)
오늘 알아서 다행 히히
swift파일과 cocoaTouchFile의 차이를 배움
swift파일 : 빈파일
cocoaTouchFile : 적당한 속성등의 옵션이 셋팅된 (도와주는)파일
파일을 생성하고 => 내부에 하드코딩으로 구현
그냥 개인적으로 궁금해서 만든 버튼
급조해본 결과로는
커스텀 => 배경 clear, 글자(tint) white
시스템버튼 => 배경 clear, 글자(tint) accentBlue
아니라면 댓글부탁드립니다(!)
직접쓰기가 조금 귀찮았던 내가 참고한 분의 코드
커스텀 제외 다양한 버튼확인하기
class ViewController: UIViewController {
//시스템버튼
lazy var systemButton: UIButton = {
let button = UIButton(type: .system)
let width: CGFloat = 200
let height: CGFloat = 50
// Specify the position of the button.
let posX: CGFloat = self.view.frame.width/2 - width/2
let posY: CGFloat = 200
// Tag a button.
button.tag = 5
// Set the button installation coordinates and size.
button.frame = CGRect(x: posX, y: posY, width: width, height: height)
// Set the title (normal).
button.setTitle("systemButton", for: .normal)
return button
}()
//커스텀버튼
lazy var customButton: UIButton = {
let button = UIButton(type: .custom)
button.backgroundColor = #colorLiteral(red: 0.2196078449, green: 0.007843137719, blue: 0.8549019694, alpha: 1)
let width: CGFloat = 200
let height: CGFloat = 50
// Specify the position of the button.
let posX: CGFloat = self.view.frame.width/2 - width/2
let posY: CGFloat = 400
// Tag a button.
button.tag = 5
// Set the button installation coordinates and size.
button.frame = CGRect(x: posX, y: posY, width: width, height: height)
// Set the title (normal).
button.setTitle("customButton", for: .normal)
return button
}()
override func viewDidLoad() {
super.viewDidLoad()
// 버튼올리기
self.view.addSubview(self.systemButton)
self.view.addSubview(self.customButton)
}
}
커스텀 버튼은 안보인다
터미널에러
self NextVC.FirstViewController 0x000000014f516c40
button UIButton 0x000000015779e400
⇒ self 에서도 에러가 난걸 봐서는 backButton 이 제대로 생성이 안되었을 가능성 있음
//class FirstViewController: UIViewController 내부
// 클로저로 버튼 셋업해보기
lazy var backButton: UIButton = {
let button = UIButton(type: .custom)
button.setTitle("Back", for: .normal)
button.setTitleColor(.white, for: .normal)
button.backgroundColor = UIColor.blue
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 20). // 여기서 쓰레드 에러발생
button.addTarget(self, action: #selector(backButtonTapped), for: .touchUpInside)
view.addSubview(backButton)
return button
}()
// class ViewController: UIViewController 내부
@IBAction func codeNextButtonTapped(_ sender: UIButton) {
let firstVC = FirstViewController()
present(firstVC, animated: true, completion: nil)
}
원래 클로저 버튼생성 실행구문안에 있었던 view.addSubview(backButton) 메서드를
viewDidLoad함수 내에서 실행되는 기본화면 셋팅을 하는 setUP함수내에서 끝내도록 위치변경
override func viewDidLoad() {
super.viewDidLoad()
setUp()
// 여기다가 추가하면 appDelegate @main 쪽에서 에러가남
}
func setUp() {
view.addSubview(backButton) // backButton 추가그리는 위치를 setUP함수 내에서 끝냄
}