ViewController 외부에서 View(Swift) 만들기
ViewController에서 View 기술 제외
말로 표현하기는 어렵지만, View Controller에 뷰를 계속 추가하면 Controller가 커지기 때문에 뷰로 나눠서 설명하고 싶어요.
예를 들어FirstViewController에 UIWebView 4개를 추가하고 싶을 때(생각지도 못했지만) 4개를 더 추가하면 ViewController가 힘들겠죠.
그래서 여러 가지 뷰를 Controller 밖으로 가져가면 Controller가 시원하고 좋을 것 같아서요.
iOS 원주민 개발 시작했는데 실패???하면서 반모드를 밟으면 더 좋은 방법이 있으면 알려주고 싶어요.
ViewController
화면 크기(frame 1-4)를 결정하고 WebView를 1-4로 만들어 표시합니다.
import UIKit
class FirstViewController: UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
let frame1 = CGRect(x: 0, y: 0, width: self.view.bounds.width / 2, height: self.view.bounds.height / 2)
let frame2 = CGRect(x: self.view.bounds.width / 2, y: 0, width: self.view.bounds.width / 2, height: self.view.bounds.height / 2)
let frame3 = CGRect(x: 0, y: self.view.bounds.height / 2, width: self.view.bounds.width / 2, height: self.view.bounds.height / 2)
let frame4 = CGRect(x: self.view.bounds.width / 2, y: self.view.bounds.height / 2, width: self.view.bounds.width / 2, height: self.view.bounds.height / 2)
let web1 = AppleWebView(frame:frame1)
let web2 = AppleWebView(frame:frame2)
let web3 = AppleWebView(frame:frame3)
let web4 = AppleWebView(frame:frame4)
self.view.addSubview(web1.createWebView())
self.view.addSubview(web2.createWebView())
self.view.addSubview(web3.createWebView())
self.view.addSubview(web4.createWebView())
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
AppleWebView
import UIKit
class AppleWebView: UIWebView,UIWebViewDelegate {
override init(frame: CGRect) {
super.init(frame: frame)
self.delegate = self
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
func createWebView() -> UIWebView{
let url: NSURL = NSURL(string: "http://apple.com")!
let request: NSURLRequest = NSURLRequest(URL: url)
self.loadRequest(request)
return self
}
func webViewDidFinishLoad(webView: UIWebView!) {
println("webViewDidFinishLoad")
}
func webViewDidStartLoad(webView: UIWebView!) {
println("webViewDidStartLoad")
}
}
스크린
스타즈바와 네이비게이션바의 높이를 고려하지 않아 화면이 무너진 것으로 보인다.
「👿이렇게 하면 안 되는데...","😊더 좋은 방법이 있다면 알려주세요!
Reference
이 문제에 관하여(ViewController 외부에서 View(Swift) 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/star__hoshi/items/f5e3de9394a3e3e52ab6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)