내가 코드에서이 뷰 계층 구조를 시뮬레이션하기 위해 노력하고있어에서 기존의 서브 뷰에 뷰를 추가 할 수 없습니다 따라서이 같은 연결 컨테이너 "은 스토리 보드, 프로그램
"scene"
"view Shop Main" -> `UIView`
"view shop scroll" -> `UIScrollView`
"ViewDetail" -> `UIView`
"Shop Connected Container" -> `UIView`
"Connected Shop" -> `UIView`
"Connected Shop" -> `UIView`
"Connected Shop" -> `UIView`
어떻게이 프로그래밍 방식으로 할 수 있습니까 ?? 각 하위보기 및 xib 파일에 대한 사용자 지정 클래스가 있습니다.
override func viewDidLoad() {
/*1*/ let vShopMain = NSBundle.mainBundle().loadNibNamed("viewShopMain", owner: self, options: nil).first as! viewShopMain
/*2*/ let vShopScroll = NSBundle.mainBundle().loadNibNamed("viewShopScroll", owner: vShopMain, options: nil).first as! viewShopScroll
/*3*/ let vDetail : UIView = NSBundle.mainBundle().loadNibNamed("viewDetail", owner: vShopScroll, options: nil).first as! viewDetail
//
//
/*4*/ let sConContainer : UIView = NSBundle.mainBundle().loadNibNamed("shopConnectedContainer", owner: vDetail, options: nil).first as! shopConnectedContainer
/*5*/ let cShop = NSBundle.mainBundle().loadNibNamed("connectedShop", owner: sConContainer, options: nil).first as! connectedShop
cShop.bannerTitle.text = "Shop Title"
vShopMain.addSubview(vShopScroll)
vShopScroll.addSubview(vDetail)
vDetail.addSubview(sConContainer)
sConContainer.addSubview(cShop)
self.view.addSubview(sConContainer)
은 또한 동일한 결과이 시도 :
let vShopMain = UINib(nibName: "viewShopMain", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! viewShopMain
let scroll = UINib(nibName: "viewShopScroll", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! viewShopScroll
let vDetail = UINib(nibName: "viewDetail", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! viewDetail
let sConContainer = UINib(nibName: "shopConnectedContainer", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! shopConnectedContainer
let cShop = UINib(nibName: "connectedShop", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! connectedShop
cShop.bannerTitle.text = "hola"
vShopMain.addSubview(scroll)
scroll.addSubview(vDetail)
vDetail.addSubview(sConContainer)
sConContainer.addSubview(cShop)
self.view.addSubview(sConContainer)
그러나 추가 "새로운"보기 다른보기 이하를, 내가 코드에서 파단의 인스턴스를 해요 방법 이입니다 스토리 보드에서 기존보기를 인스턴스화하고 새로운 스토리 보드를 만들지 않으므로 의도 한 동작이 아닙니다.
나는 스토리 보드 계층 구조의 순서를 따르고 있습니다. 또한보기는 사용자 정의 클래스와 연결되어 있으며 xib 파일이 있습니다. 하지만 내 앱을 실행할 때 이상한 문제가 발생했습니다
여기서 내가 뭘 잘못하고 있니? 제발 도와주세요
'지금보기는 것이다 해당 컨트롤러가 인스턴스화 될 때 자동으로로드됩니다. 컨트롤러 클래스에서 필요한 뷰의 콘센트를 만들어 사용할 수 있습니다. loadNibNamed를 사용하여 프로그래밍 방식으로로드 할 필요가 없습니다. –
예, 뷰가 생성됩니다. 하지만 프로그래밍 방식으로 뷰 수를 설정하려면 1이 될 수도 있고 10이 될 수도 있습니다.이 뷰를 여러 번 인스턴스화하여 둘 이상을 만들 필요가 있습니다. 어떻게해야합니까? – user3033437