반응형

iOS/코드조각 121

[iOS, Swift] 라디오버튼 구현하기

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. 라디오버튼 구현의 기본적인 아이디어로는 RadioButton을 관리하는 Controller를 만들고 배열변수에 라디오버튼을 넣습니다. 배열에 넣을 때 normal 상태에서는 기본적인 이미지가 나오게끔, selected 상태일 때는 선택된 이미지가 나오게끔 설정합니다. 기본적으로 선택될 radioButton을 선택을 하고, 버튼이 클릭되면 배열에 담겨있는 버튼 중 하나만 선택되게끔 합니다. 전체코드 class TestViewController: UIViewController { @IBOutlet weak var radioButton1: UIButton! @IBOutlet weak var radioButton2: UIB..

iOS/코드조각 2023.02.25

[iOS, Swift] 체크박스 구현하기

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. iOS에서는 체크박스와 라디오버튼이 기본적으로 제공되어지지 않습니다. 그러나 체크박스는 기본적인 버튼 속성을 사용하여 구현할 수 있습니다. 버튼을 생성할 때에, setImage 설정할 때에 state 값이 normal인 것과 selected인 값을 따로 설정해줍니다. lazy var checkButton: UIButton = { var button: UIButton = UIButton(type: .custom) button.translatesAutoresizingMaskIntoConstraints = false button.setImage(UIImage(systemName: "rectangle"), for: .nor..

iOS/코드조각 2023.02.24

[iOS, Swift] Keyboard로 인해 가려진 뷰 올리기

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. 먼저 ViewDidLoad 함수에 키보드가 올라가거나 내려가는 Notification을 구독합니다. func setKeyboardObserver() { NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: UIResponder.keyboardWillShowNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(_:)), name: UIResponder.keyboard..

iOS/코드조각 2023.02.22

[iOS, Swift] DocumentPicker 사용예제

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. DocumentPickerController에서 forOpeningContentTypes의 타입을 설정하고 초기화를 한 후 present로 pickerController를 띄어준다.설정된 타입은 png로 하였는데, png 파일만 선택이 가능하게끔 됩니다. import MobileCoreServices import UniformTypeIdentifiers @IBAction func didTapDocument(_ sender: UIButton) { let types = UTType(tag: "png", tagClass: UTTagClass.filenameExtension, conformingTo: nil) let doc..

iOS/코드조각 2023.02.20

[iOS, Swift] MapKit 사용하여 현재 위치 나타내기

iOS 16.1, Xcode 14.1, Swift 5, UIKit 환경에서 진행했습니다. 스토리보드에서 MapKit을 화면이 꽉차도록 설정합니다. Info.plist 파일에 위와 같이 3가지 설정을 해줍니다. import UIKit import CoreLocation import MapKit class ViewController: UIViewController { @IBOutlet weak var mapView: MKMapView! var locationManager: CLLocationManager = CLLocationManager() var currentLocation: CLLocation! override func viewDidLoad() { super.viewDidLoad() // Do any ..

iOS/코드조각 2023.02.16

[iOS, Swift] UIRefreshControl 예제

iOS 16.1, Xcode 14.1, Swift 5, UIKit 환경에서 진행했습니다. UIRefreshControl은 UIScrollView를 상속받는 곳에 사용이 가능합니다. 테이블뷰와 콜렉션뷰에서도 사용가능합니다. 이 컨트롤을 추가하면 사용자는 일반적으로 새로고침하는 것 같은 느낌을 줍니다. scroll 가능한 공간을 아래로 내릴때, refresh 화면을 띄어줍니다. var refreshControl = UIRefreshControl() override func viewDidLoad() { super.viewDidLoad() tableView.dataSource = self tableView.delegate = self tableView.refreshControl = refreshControl r..

iOS/코드조각 2023.02.05
반응형