Segue
Segue를 통해 view 이동 시 값도 함께 이동
var property: [Int]
func goNextView() {
performSegue(withIdentifier: "Second", sender: nil)
}
@IBSegueAction func showResults(_ coder: NSCoder) -> SecondViewController? {
return SecondViewController(coder: coder, property: property)
}
var property: [Int]
init?(coder: NSCoder, property: [Int]) {
self.property = property
super.init(coder: coder)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
맨 처음 View로 되돌아가기
@IBAction func unwindToFirstView(segue: UIStoryboardSegue) {
}
Navigation item
Back 버튼 숨김처리
navigationItem.hidesBackButton = true
여러줄 적은 뒤 가운데 정렬
button.setTitle("title ~~", for: .normal)
button.titleLabel?.textAlignment = .center
키보드 나타나도 입력부분 가려지지 않도록 처리
@IBOutlet var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
registerForKeyboardNotifications()
}
func registerForKeyboardNotifications() {
NotificationCenter.default.addObserver(
self,
selector: #selector(keyboardWasShown(_:)),
name: UIResponder.keyboardDidShowNotification,
object: nil
)
NotificationCenter.default.addObserver(
self,
selector: #selector(keyboardWillBeHidden(_:)),
name: UIResponder.keyboardWillHideNotification,
object: nil
)
}
@objc func keyboardWasShown(_ notificiation: NSNotification) {
guard let info = notificiation.userInfo,
let keyboardFrameValue =
info[UIResponder.keyboardFrameBeginUserInfoKey] as? NSValue else { return }
let keyboardFrame = keyboardFrameValue.cgRectValue
let keyboardSize = keyboardFrame.size
let contentInsets = UIEdgeInsets(top: 0.0, left: 0.0,
bottom: keyboardSize.height, right: 0.0)
scrollView.contentInset = contentInsets
scrollView.scrollIndicatorInsets = contentInsets
}
@objc func keyboardWillBeHidden(_ notification:
NSNotification) {
let contentInsets = UIEdgeInsets.zero
scrollView.contentInset = contentInsets
scrollView.scrollIndicatorInsets = contentInsets
}