내가 아무 설명없이 완성물(.jpg)만 보고 만든 앱과 선생님이 만든 앱은 어떤 차이가 있었을까?
기능 :
일단, 내가 만든 앱에서는 그냥 드래그해서 배치했기 때문에 기종마다 위치가 모두 제각각..
하지만, 선생님코드에서는 stackView를 만들고 Add New Constraints로 위치를 결정해줬다. (라벨+컬러 스택뷰 1개 , 컬러 스택뷰 1개)
class EditViewController: UIViewController {
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var btnYellowStyle: UIButton!
@IBOutlet weak var btnPurpleStyle: UIButton!
@IBOutlet weak var btnGreenStyle: UIButton!
@IBOutlet weak var btnBlackStyle: UIButton!
@IBOutlet weak var btnBlueStyle: UIButton!
@IBOutlet weak var btnOrangeStyle: UIButton!
@IBAction func tapTextColorBtn(_ sender: UIButton) {
if sender == btnYellowStyle {
changeTextColor(color: .yellow)
textColor = .yellow
}else if sender == btnPurpleStyle {
changeTextColor(color: .purple)
textColor = .purple
}else {
changeTextColor(color: .green)
textColor = .green
}
@IBAction func tapBackgroundColorBtn(_ sender: UIButton) {
if sender == btnBlackStyle {
changeBackgroundColor(color: .black)
backgroundColor = .black
} else if sender == btnBlueStyle {
changeBackgroundColor(color: .blue)
backgroundColor = .blue
}else{
changeBackgroundColor(color: .orange)
backgroundColor = .orange
}
}
@IBAction func tapSaveBtn(_ sender: UIButton) {
delegate?.changedSetting(
text: textField.text!,
textColor: textColor,
backgroundColor: backgroundColor)
navigationController?.popViewController(animated: true)
}
색상의 선택을 sender에 어떤 값을 줬는가에 따라서 다르게 만들어줬다. 이런 경우는 처음봐서 신기함. 이렇게 만들어주면 코드가 훨씬 더 간결해서 보기좋을 것 같음!
class SettingViewController: UIViewController {
@IBOutlet weak var btnYellowStyle: UIButton!
@IBOutlet weak var btnPurpleStyle: UIButton!
@IBOutlet weak var btnGreenStyle: UIButton!
@IBOutlet weak var btnGrayStyle: UIButton!
@IBOutlet weak var btnBlueStyle: UIButton!
@IBOutlet weak var btnPinkStyle: UIButton!
@IBOutlet weak var tfMessage: UITextField!
//MARK: 텍스트 색상 설정
@IBAction func btnYellow(_ sender: UIButton) {
Message.tColor = UIColor.yellow
}
@IBAction func btnPurple(_ sender: UIButton) {
Message.tColor = UIColor.purple
}
@IBAction func btnGreen(_ sender: UIButton) {
Message.tColor = UIColor.green
}
//MARK: 배경 색상 설정
@IBAction func btnGray(_ sender: UIButton) {
Message.bColor = UIColor.gray
}
@IBAction func btnBlue(_ sender: UIButton) {
Message.bColor = UIColor.blue
}
@IBAction func btnPink(_ sender: UIButton) {
Message.bColor = UIColor.systemPink
}
@IBAction func btnLoad(_ sender: UIButton) {
Message.textMessage = tfMessage.text!
navigationController?.popViewController(animated: true)
}