【Swift】InputAccessoryView 사용
소개
이번에는 InputAccessoryView라는 것을 사용하여 다음과 같은 것을 만들어 보겠습니다.
구현
다음과 같이 textView와 button을 넣은 InputAccessoryView.xib
를 만듭니다.
그리고 InputAccessoryView.swift
에 다음과 같이 코드를 기술합니다.
import UIKit
final class InputAccessoryView: UIView {
@IBOutlet private weak var textView: UITextView!
@IBOutlet private weak var sendButton: UIButton!
override init(frame: CGRect) {
super.init(frame: frame)
loadNib()
setupViews()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
// MARK: - setup nib
private extension InputAccessoryView {
func loadNib() {
let nib = UINib(nibName: String(describing: InputAccessoryView.self), bundle: nil)
guard let view = nib.instantiate(withOwner: self,
options: nil).first as? UIView else { return }
view.frame = self.bounds
self.addSubview(view)
}
}
// MARK: - setup views
private extension InputAccessoryView {
func setupViews() {
textView.layer.cornerRadius = 15
sendButton.layer.cornerRadius = 15
}
}
그런 다음 xib 및 swift 파일을 연결합니다. 아래와 같이 File's Owner의 Class를 방금 구현한 InputAccessoryView로 합니다.
여기서 File's Owner의 이 화면이 노랗게 보이면 IBOutlet을 다시 연결합시다.
그리고 마지막으로 ViewController를 다음과 같이 구현해 보겠습니다.
import UIKit
final class ViewController: UIViewController {
private var myInputAccessoryView: InputAccessoryView = {
let view = InputAccessoryView()
view.frame = CGRect(x: 0, y: 0, width: view.frame.size.width, height: 60)
return view
}()
override var inputAccessoryView: UIView? { myInputAccessoryView }
override var canBecomeFirstResponder: Bool { true }
}
이제 이전과 같은 키보드 위에 textView와 button이 표시됩니다.
문서
참고
결론
이런 편리한 것이 있었던 것은,,,
Reference
이 문제에 관하여(【Swift】InputAccessoryView 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/REON/items/50663b4602a6d8a991e8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음과 같이 textView와 button을 넣은
InputAccessoryView.xib
를 만듭니다.그리고
InputAccessoryView.swift
에 다음과 같이 코드를 기술합니다.import UIKit
final class InputAccessoryView: UIView {
@IBOutlet private weak var textView: UITextView!
@IBOutlet private weak var sendButton: UIButton!
override init(frame: CGRect) {
super.init(frame: frame)
loadNib()
setupViews()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
// MARK: - setup nib
private extension InputAccessoryView {
func loadNib() {
let nib = UINib(nibName: String(describing: InputAccessoryView.self), bundle: nil)
guard let view = nib.instantiate(withOwner: self,
options: nil).first as? UIView else { return }
view.frame = self.bounds
self.addSubview(view)
}
}
// MARK: - setup views
private extension InputAccessoryView {
func setupViews() {
textView.layer.cornerRadius = 15
sendButton.layer.cornerRadius = 15
}
}
그런 다음 xib 및 swift 파일을 연결합니다. 아래와 같이 File's Owner의 Class를 방금 구현한 InputAccessoryView로 합니다.
여기서 File's Owner의 이 화면이 노랗게 보이면 IBOutlet을 다시 연결합시다.
그리고 마지막으로 ViewController를 다음과 같이 구현해 보겠습니다.
import UIKit
final class ViewController: UIViewController {
private var myInputAccessoryView: InputAccessoryView = {
let view = InputAccessoryView()
view.frame = CGRect(x: 0, y: 0, width: view.frame.size.width, height: 60)
return view
}()
override var inputAccessoryView: UIView? { myInputAccessoryView }
override var canBecomeFirstResponder: Bool { true }
}
이제 이전과 같은 키보드 위에 textView와 button이 표시됩니다.
문서
참고
결론
이런 편리한 것이 있었던 것은,,,
Reference
이 문제에 관하여(【Swift】InputAccessoryView 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/REON/items/50663b4602a6d8a991e8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【Swift】InputAccessoryView 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/REON/items/50663b4602a6d8a991e8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)