assets에 이미지, 음원파일 추가하기
asset 폴더로 이동
command + shift + o ( 빠른 파일 열기 실행 )
appicon 삭제
마우스 오른쪽 - Import... - 압축 푼 assets 추가하기
Storyboard - 인터페이스 빌더 화면 - button,label,slider 추가
Xcode Library창
command + shift + L
IBOutlet 3가지 방법
@IBOutlet weak var playPauseButton: UIButton!
@IBOutlet weak var timeLabel: UILabel!
@IBOutlet weak var progressSlider: UISlider!
IBAction 3가지 방법
@IBAction func touchPlayPause(_ sender: UIButton){
print("----> Button success")
}
코드로 먼저 IBAction을 생성한 후 인터페이스 빌더의 Outlet Inspector를 통해 연결
코드로 먼저 IBAction을 생성한 후 인터페이스 빌더에서 viewController 우클릭 후 팝업에서 연결
인터페이스 빌더에서 코드로 끌어당겨 연결
→ 모두 print 로그를 통해 액션이 제대로 동작하는지 확인
StoryBoard → Class 로 이동
command + control + >
StoryBoard → Class 로 이동
command + control + <
storyboard 상태에서 ViewController 열고싶을때
option + 원하는Controller 선택
UIButton 클래스는, 사용자의 상호작용에 반응해 미리 지정된 코드를 실행시키는 컨트롤 요소
버튼과 메서드 연결하는 방법
버튼과 연결되는 메서드 3가지 형식
func doSomething()
func doSomething(sender: UIButton)
func doSomething(sender: UIButton, forEvent event: UIEvent)
버튼의 상태
버튼 주요 메서드
// 특정 상태의 버튼의 문자열 설정
func setTitle(String?, for: UIControlState)
// 특정 상태의 버튼의 문자열 반환
func title(for: UIControlState) -> String?
// 특정 상태의 버튼 이미지 설정
func setImage(UIImage?, for: UIControlState)
// 특정 상태의 버튼 이미지 반환
func image(for: UIControlState) -> UIImage?
// 특정 상태의 백그라운드 이미지 설정
func setBackgroundImage(UIImage?, for: UIControlState)
// 특정 상태의 백그라운드 이미지 반환
func backgroundImage(for: UIControlState) -> UIImage?
// 특정 상태의 문자열 색상 설정
func setTitleColor(UIColor?, for: UIControlState)
// 특정 상태의 attributed 문자열 설정
func setAttributedTitle(NSAttributedString?, for: UIControlState)
var text: String?
: 레이블이 표시할 문자열 /var textColor: UIColor!
: 문자 색상var font: UIFont!
: 문자 폰트var textAlignment: NSTextAlignment
: 문자열의 가로 정렬 방식left
, right
, center
, justified
, natural
중 하나를 선택할 수 있습니다.var numberOfLines: Int
: 문자를 나타내는 최대 라인 수0
으로 설정하십시오. 기본 값은 1입니다.lineBreakMode
프로퍼티의 값에 따라 적절히 잘라서 표현합니다var baselineAdjustment: UIBaselineAdjustment
: 문자열이 Autoshrink 되었을 때의 수직 정렬 방식Align Baseline
: 문자가 작아졌을 때 기존 문자열의 기준선에 맞춤Align Center
: 문자가 작아졌을 때 작아진 문자의 중앙선에 맞춤None
: 문자가 작아졌을 때 기존 문자열의 위쪽 선에 맞춤var lineBreakMode: NSLineBreakMode
: 레이블의 경계선을 벗어나는 문자열에 대응하는 방식Character wrap
: 여러 줄 레이블에 주로 적용되며, 글자 단위로 줄 바꿈을 결정합니다.Word wrap
: 여러 줄 레이블에 주로 적용되며, 단어 단위로 줄 바꿈을 결정합니다.Truncate head
: 한 줄 레이블에 주로 적용되며, 앞쪽 텍스트를 자르고 ...으로 표시합니다.Truncate middle
: 한 줄 레이블에 주로 적용되며, 중간 텍스트를 자르고 ...으로 표시합니다.Truncate tail
: 한 줄 레이블에 주로 적용되며, 끝쪽 텍스트를 자르고 ...으로 표시합니다. 기본 설정 값입니다.UISlider는 연속된 값 중에서 특정 값을 선택하는데 사용되는 컨트롤
슬라이더 생성 3단계
슬라이더와 메서드 연결하는 방법
슬라이드와 연결되는 메서드 3가지 형식
func doSomething()
func doSomething(sender: UISlider)
func doSomething(sender: UISlider, forEvent event: UIEvent)
슬라이더 주요 메서드
// 슬라이더의 현재 값 설정
func setValue(Float, animated: Bool)
// 특정 상태의 minimumTrackImage 반환
func minimumTrackImage(for: UIControlState) -> UIImage?
// 특정 상태의 minimumTrackImage 설정
func setMinimumTrackImage(UIImage?, for: UIControlState)
// 특정 상태의 maximumTrackImage 반환
func maximumTrackImage(for: UIControlState) -> UIImage?
// 특정 상태의 minimumTrackImage 설정
func setMaximumTrackImage(UIImage?, for: UIControlState)
// 특정 상태의 thumbImage 반환
func thumbImage(for: UIControlState) -> UIImage?
//특정 상태의 thumbImage 설정
func setThumbImage(UIImage?, for: UIControlState)
// MARK:- 주석내용
자동완성에서 원하는 글씨를 입력할때 tab을 누르면 한 단어씩 완성됩니다.
AVFoundation
AVFoundation은 다양한 애플 플랫폼에서 사운드 및 영상 미디어의 처리, 제어, 가져오기 및 내보내기 등 광범위한 기능을 제공하는 프레임워크입니다.
AVAudioPlayer Class
파일 또는 메모리에 있는 사운드 데이터를 재생하는 기능을 제공합니다.
주요 기능
주요 프로퍼티
var isPlaying: Bool
: 사운드가 현재 재생되고 있는지 아닌지 여부var volume: Float
: 사운드의 볼륨값, 최소 0.0 ~ 최대 1.0var rate: Float
: 사운드의 재생 속도var numberOfLoops: Int
: 사운드 재생 반복 횟수stop
메서드가 호출 될때까지 무한 재생var dutation: TimeInterval
: 사운드의 총 재생 시간(초 단위)var currentTime: TimeInterval
: 사운드의 현재 재생 시각(초 단위)protocol AVAudioPlayerDelegate
: 사운드 재생 완료, 재생 중단 및 디코딩 오류에 응답할 수 있는 프로토콜주요 메서드
// AVAudioPlayer 초기화 메서드
// 특정 위치에 있는 사운드 파일로 초기화
func init(contentOf: URL)
// 메모리에 올라와있는 데이터를 이용해 초기화
func init(data: Data)
// AVAudioPlayer 재생관련 메서드
// 사운드 재생
func play()
// 특정 시점에서 사운드 재생
func play(atTime: TimeInterval)
// 사운드 일시 정지
func pause()
// 사운드 재생 정지
func stop()
Timer
Timer 클래스는 일정한 시간 간격이 지나면 지정된 메시지를 특정 객체로 전달하는 기능을 제공합니다.
특징
주요 프로퍼티
var isValid: Bool
: 타이머가 현재 유효한지 아닌지 여부var fireDate: Date
: 다음에 타이머가 실행될 시각var timeInterval: TimeInterval
: 타이머의 실행 시간 간격(초 단위)생성 메서드
// 타이머 생성과 동시에 런 루프에 default mode로 등록하는 클래스 메서드
class func scheduledTimer(withTimeInterval: TimeInterval, repeats: Bool, block: (Timer) -> Void)
class func scheduledTimer(timeInterval: TimeInterval, target: Any, selector: Selector, userInfo: Any?, repeats: Bool)
class func scheduledTimer(timeInterval: TimeInterval, invocation: NSInvocation, repeats: Bool)
// 타이머 생성 후 수동으로 타이머 객체를 add(_:forMode:) 메서드를 이용해 런 루프에 추가해줘야 하는 메서드
func init(timeInterval: TimeInterval, invocation: NSInvocation, repeats: Bool)
func init(timeInterval: TimeInterval, target: Any, selector: Selector, userInfo: Any?, repeats: Bool)
func init(fireAt: Date, interval: TimeInterval, target: Any, selector: Selector, userInfo: Any?, repeats: Bool)