2016-11-21 8 views
0

코드 스쿨 (codechool) 자습서를 사용하여 앱을 제작하고 있지만 정확한 코드와 단계에 따라 scrollView 페이지를 올바르게 작성했지만 빈 화면 만 표시합니다. iOS 시뮬레이터. 내가 뭘 잘못하고 있니? 여기 내 scrollView 페이지가 내 OS 응용 프로그램에로드되지 않는 이유는 무엇입니까? 오류 발생 : EXC_BAD_INSTRUCTION (코드 = EXC_1386_INVOP, subcode = 0x0)

내 코드입니다 :

import UIKit 

class ContactViewController: UIViewController { 

    @IBOutlet weak var scrollView: UIScrollView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     view.addSubview(scrollView) 
    } 

    override func viewWillLayoutSubviews() { 
     super.viewWillLayoutSubviews() 

     scrollView.contentSize = CGSize(width: 375, height: 800) 

나는 다음과 같은 오류 메시지가 얻을 :

스레드 1 : EXC_BAD_INSTRUCTION을 (코드 = EXC_1386_INVOP, 서브 코드 = 0x0으로) 그로 요약되는 응용 프로그램을 구축 할 때 A와 특징

상태

... :

치명적인 오류 : 예기치 옵션 값언 래핑 동안 nil을 찾았(lldb)

나는 이것을 여러 번 실행했습니다. 그리고 나는 기존 게시물을주의 깊게 살펴 봤지만 초보자이며 튜토리얼이 지시 한대로 모든 것을 다했기 때문에 초보자이며 코드가 불필요하다고 생각하는 코드를 제안하고 있습니다 (이 코드는 적절하다고 생각합니다. 사전에 QA). 나는 누구의 통찰력을 주셔서 감사합니다!

업데이트. 아래의 사용자는 문제를 식별하는 데 도움을줍니다. 코드 자체는 문제가 아니었지만 단순히 scrollView를 Assistant Editor의 코드에 연결하는 것은 분명히 수행되지 않았습니다. 어시스턴트 편집기에서 코드 옆에 원이 있었지만 실제로 링크되지 않았거나 링크가 끊어졌습니다. 서클 위에 마우스를 올리면 링크가 실제로 작동하는지 확인할 수 있습니다. 그러면 스토리 보드 편집기의 스크롤보기가 파란색으로 강조 표시됩니다. 링크가 끊어지면 강조 표시되지 않습니다.

모두에게 감사드립니다. 그리고 여기에도 최종 작업 코드가 있습니다 :

+0

어디에서이 오류가 발생합니까? –

+1

문제는 scrollView에 있다고 생각합니다. xib 또는 스토리 보드 파일에서 scrollview를 제대로 연결 했습니까? – Venkat

+0

@AshishKakkad 그것은 view.addSubview (scrollView) 줄에 오류가 있음을 나타냅니다. – Pigpocket

답변

0

모든 것을 올바르게했습니다. UIViewController를 쉼표로 구분 한 후 UIScrollViewDelegate를 추가하십시오. 그런 다음이 단계를 수행하십시오 1) scrollView를 선택하고 속성 검사기 눈금 스크롤 사용 및 모든 반송. 2) 적절하게 제약을 설정합니다 (이 주된 일) 3)가 분명하기 때문에 귀하의있는 ScrollView 배경 색을있는 ScrollView에 의한보고되지 않으며,

scrollView.isScrollEnabled = true; 
self.scrollView.contentInset = UIEdgeInsetsMake(0, 0, 200, 0) 
+0

안녕하세요. 응답 해 주셔서 감사합니다! 나는 이것을 시도하고 여전히 오류를 받고있는 것 같습니다.보십시오 : 가져 오기 UIKit 클래스 ContactViewController : UIViewController, UIScrollViewDelegate { @IBOutlet weak var scrollView : UIScrollView! viewDidLoad에() { super.viewDidLoad() view.addSubview (있는 ScrollView) } 오버라이드 FUNC의 viewWillLayoutSubviews() { super.viewWillLayoutSubviews() scrollView.contentSize = CGSize (폭 FUNC 재 : 375 고도 : 800) – Pigpocket

+0

안녕하세요, 귀하의 코드를 시도하고 문제를 해결. 먼저 다음 사항을 확인하십시오. 1) scrollView를 선택하고 속성 검사기 눈금 스크롤 사용 및 모든 반송에서를 선택합니다. 2) 제약 조건을 올바르게 설정하십시오 (주된 문제입니다) – danutha

+0

3) viewDidLoad에이 코드를 설정하십시오 scrollView.isScrollEnabled = true; self.scrollView.contentInset = UIEdgeInsetsMake (0, 0, 200, 0) – danutha

0

당신의 잘가는 당신의 viewDidLoad에이 코드를 설정 코드를 한 줄 더 추가하십시오.

@IBOutlet weak var scrollView: UIScrollView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    //Comment this line 
    // self.view.addSubview(scrollView) 
} 

override func viewWillLayoutSubviews() { 
    super.viewWillLayoutSubviews() 
    scrollView.backgroundColor = UIColor.cyan 
    scrollView.contentSize = CGSize(width: 375, height: 800) 
} 
+0

안녕하세요, 저는 이것을 시도했습니다. 위의 업데이트 된 게시물을 참조하십시오. 지금까지 도와 줘서 고마워! – Pigpocket