앱개발 입문
UIView Component
UILabel
: 텍스트를 표시하는데 사용되는 UI 요소
label.text = "UI Label 예제"
label.font = UIFont.systemFont(ofSize: 18)
label.textColor = UiColor.black
label.textAlignment = .center
label.numberOfLines = 2
label.lineBreakMode = .byTruncatingTail
UIImageView
: 이미지를 표시하는 데에 사용되는 UI 요소
let imageView = UIImageView()
let image = UIImage(named: "exampleImage")
imageView.image = image
imageView.frame = CGRect(x: 50, y: 100, width: 200, height: 150)
imageView.contentMode = .scaleAspectFit
UITextField
: 사용자로부터 텍스트를 입력받기 위해 사용되는 UI 요소
let textField = UITextField()
textField.text
textField.placeholder
textField.keyboardType
textField.isSecureTextEntry
textField.returnkeyType
UIButton
: 사용자가 터치하여 상호작용할 수 있는 UI 요소
let button = UIButton(type: .system)
button.setTitle("버튼을 눌러보세요", for: .normal)
button.backgroundColor(UIColor.white, for: .normal)
button.frame = CGRect(x: 50, y: 100, width: 200, height: 50)
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
@objc func buttonTapped() {
print("버튼이 눌렸습니다!")
}
UISwitch
: ON/OFF 상태를 표시하고 전환하는데 사용되는 UI 요소
let mySwitch = UISwitch()
mySwitch.isOn = true
mySwitch.onTintColor = UIColor.green
mySwitch.thumbTintColor = UIColor.white
mySwitch.onImage = UIImage(named: "onImage")
mySwitch.offImage = UIImage(named: "offImage")
mySwitch.addTarget(self, action: #selector(switchValueChanged(_:)), for: .valueChanged)
@objc func switchValueChanged(_ sender: UISwitch) {
if sender.isOn {
print("Switch is On.")
} else {
print("Switch is Off.")
}
}
UISlider
: 값의 범위를 가지고 사용자가 원하는 값을 선택할 수 있는 UI 요소
let slider = UISlider()
slider.value = 50
slider.minimumValue = 0
slider.maximumValue = 100
slider.minimumTrackTintColor = UIColor.red
slider.maximumTrackTintColor = UIColor.blue
slider.thumbTintColor = UIColor.white
slider.addTarget(self, action: #selector(sliderValueChanged(_:)), for: .valueChanged)
@objc func sliderValueChanged(_ sender: UISlider) {
print("Slider value: \(sender.value)")
}
UISegmentedControl
: 여러 개의 세그먼트로 구성된 컨트롤로, 각 세그먼트를 선택하여 원하는 옵션을 선택할 수 있는 UI 요소
let items = ["Option 1", "Option 2", "Option 3"]
let segmentedControl = UISegmentedControl(items: items)
segmentedControl.selectedSegmentIndex = 0
segmentedControl.tintColor = UIColor.blue
segmentedControl.isMomentary = false
segmentedControl.addTarget(self, action: #selector(segmentValueChanged(_:)), for: .valueChanged)
@objc func segmentValueChanged(_ sender: UISegmentedControl) {
print("Selected segment index: \(sender.selectedSegmentIndex)")
}
UIScrollView
: 화면에서 스크롤 가능한 영역을 제공하는 UI 요소
let scrollView = UIScrollView(frame: view.bounds)
scrollView.contentSize = CGSize(width: view.frame.width, height: view.frame.height * 2)
scrollView.isScrollEnabled = true
scrollView.isPagingEnabled = false
scrollView.bounces = true
let label = UILabel(frame: CGRect(x: 0, y: view.frame.height - 30, width: view.frame.width, height: 60))
label.text = "Hello, UIScrollView!"
label.textAlignment = .center
scrollView.addSubview(label)
UIPickerView
: 사용자가 여러 개의 옵션 중 하나를 선택할 수 있는 회전 가능한 휠 형식의 UI 요소
import UIKit
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
let pickerView = UIPickerView()
let data = ["Option 1", "Option 2", "Option 3"]
override func viewDidLoad() {
super.viewDidLoad()
pickerView.delegate = self
pickerView.dataSource = self
pickerView.center = view.center
view.addSubview(pickerView)
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return data.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return data[row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
print("Selected: \(data[row])")
}
}