xcode 간단한 앱
배경 추가하기
배경을 추가할 때는 큰 이미지를 추가한 뒤 alpha을 통해 투명도를 조절
하고
오브젝트가 맨 뒤로 깔리게 하기 위해 순서를 위로 옮긴다.
스위치 추가하기
오브젝트 중 스위치를 추가하고 다음과 같이 설정하여 스크립트에 연결하여 사용한다.
스위치는 다음과 같이 sender를 통해 스크립트에서 사용할 수 있음.
@IBAction func onoff(_ sender: UISwitch) {
if sender.isOn{
print("On")
}
else{
print("Off")
}
}
새그먼티드 컨트롤 추가하기
새그먼티드 컨트롤 UI의 text는 이곳에서 바꾼다.
이것도 다음과 같이 추가하여 사용한다.
또한 스크립트에서 사용은 다음처럼 한다
@IBAction func SC(_ sender: UISegmentedControl) {
if sender.selectedSegmentIndex == 0{
print("여성")
}
else
{
print("남성")
}
}
탭바 추가하기
뷰 선택 후 에디터에서 추가
탭바 아이콘은 추가된 별표 모양의 오브젝트를 수정하면 된다.
화면은 뷰컨트롤러를 추가하여 추가한다.
뷰끼리의 연결은 컨트롤키를 누르고 드래그한 뒤 릴레이션십 세그웨이에서 뷰 컨트롤러를 선택해준다.
tab bar의 UI에 대해서는 https://developer.apple.com/design/human-interface-guidelines/tab-bars에서 찾아보면 된다.
동영상 추가
동영상 추가
동영상을 드래그해서 추가할 때 꼭 Add to targets를 체크해야함
스크립트와 뷰 는 꼭 연결해주어야함
동영상 버튼 연결
버튼을 추가하고 버튼을 액션으로 추가한 뒤 다음 코드를 안에 넣어준다.
let file:String? = Bundle.main.path(forResource:"bmi", ofType: "mp4")
let url = NSURL(fileURLWithPath: file!)
let playerController = AVPlayerViewController()
let player = AVPlayer(url: url as URL)
playerController.player = player
self.present(playerController, animated: true)
player.play()
웹페이지 로드하기
버튼과 웹킷뷰를 추가한다.
새 소스코드를 만들어서 버튼, 새그먼티드 컨트롤, 웹킷뷰를 연결한 뒤 다음과 같이 작성해준다.
import UIKit
import WebKit
class WebViewController: UIViewController {
@IBOutlet var webView: WKWebView!
override func viewDidLoad() {// 시작할 때 실행
super.viewDidLoad()
// 기본으로 블로그 주소 로드
let myURL = URL(string:"https://novicehog.github.io/")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
// 새그먼티드 컨트롤 값을 바꿀 때마다 페이지 로드
@IBAction func GoWeb(_ sender: UISegmentedControl) {
if sender.selectedSegmentIndex == 0{
let myURL = URL(string:"https://www.naver.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
else{
let myURL = URL(string:"https://www.google.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
}
// 버튼을 누르면 네이버로 로드
@IBAction func GoNaver(_ sender: UIButton) {
let myURL = URL(string:"https://www.naver.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
}
1
댓글남기기