StoryBoard ID는 무엇이며 어떻게 사용합니까?
나는 IOS 개발에 익숙하지 않고 최근 Xcode 4.5에서 시작했습니다. 스토리 보드 ID를 포함한 일부 ID 변수를 설정할 수있는 모든 viewController에 대해 보았습니다. 이것은 무엇이며 어떻게 사용할 수 있습니까?
stackoverflow에서 검색을 시작했으며 이에 대한 설명을 찾을 수 없습니다. 컨트롤러를 올바르게 기억하도록 설정할 수있는 바보 같은 레이블이 아니라고 생각했습니다. 무엇을합니까?
스토리 보드 ID는 해당 스토리 보드 ViewController를 기반으로 새 ViewController를 만드는 데 사용할 수있는 문자열 필드입니다. 사용 예는 모든 ViewController에서 사용됩니다.
//Maybe make a button that when clicked calls this method
- (IBAction)buttonPressed:(id)sender
{
MyCustomViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"MyViewController"];
[self presentViewController:vc animated:YES completion:nil];
}
그러면 "MyViewController"라는 스토리 보드 ViewController를 기반으로 MyCustomViewController가 생성되어 현재 View Controller 위에 표시됩니다.
그리고 당신이 당신의 응용 프로그램 대리인에 있다면 당신은 사용할 수 있습니다
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
bundle: nil];
편집 : 스위프트
@IBAction func buttonPressed(sender: AnyObject) {
let vc = storyboard?.instantiateViewControllerWithIdentifier("MyViewController") as MyCustomViewController
presentViewController(vc, animated: true, completion: nil)
}
스위프트 편집> = 3 :
@IBAction func buttonPressed(sender: Any) {
let vc = storyboard?.instantiateViewController(withIdentifier: "MyViewController") as! ViewController
present(vc, animated: true, completion: nil)
}
과
let storyboard = UIStoryboard(name: "MainStoryboard", bundle: nil)
Eric의 답변에 추가하고 Xcode 8 및 Swift 3에 맞게 업데이트하려면 :
스토리 보드 ID는 이름에서 의미하는대로 정확하게 식별합니다. 그냥이 있음을 확인 뷰 컨트롤러 스토리 보드 파일을. 스토리 보드가 어떤 뷰 컨트롤러가 어떤 것인지 아는 방법입니다.
이제 이름으로 혼동하지 마십시오. 스토리 보드 ID는 '스토리 보드'를 식별하지 않습니다. 애플의 문서에 따르면 스토리 보드는 '앱 사용자 인터페이스의 일부 또는 전부에 대한 뷰 컨트롤러를 나타냅니다.' 따라서 아래 그림과 같은 것이 있으면 Main.storyboard라는 스토리 보드가 있으며, 여기에는 스토리 보드 ID (스토리 보드의 ID)가 제공 될 수있는 두 개의 뷰 컨트롤러가 있습니다.
뷰 컨트롤러의 스토리 보드 ID를 사용하여 해당 뷰 컨트롤러를 인스턴스화하고 반환 할 수 있습니다. 그런 다음 원하는대로 조작하여 프리젠 테이션 할 수 있습니다. Eric의 예제를 사용하려면 버튼을 눌렀을 때 식별자가 'MyViewController'인 뷰 컨트롤러를 제시한다고 가정하면 다음과 같이 할 수 있습니다.
@IBAction func buttonPressed(sender: Any) {
// Here is where we create an instance of our view controller. instantiateViewController(withIdentifier:) will create an instance of the view controller every time it is called. That means you could create another instance when another button is pressed, for example.
let vc = storyboard?.instantiateViewController(withIdentifier: "MyViewController") as! ViewController
present(vc, animated: true, completion: nil)
}
구문 변경 사항에 유의하십시오.
참고 URL : https://stackoverflow.com/questions/13867565/what-is-a-storyboard-id-and-how-can-i-use-this
'programing tip' 카테고리의 다른 글
생성 된 코드와 같은 특정 디렉토리 또는 파일에 대한 Java 경고를 표시하지 않는 방법 (0) | 2020.08.04 |
---|---|
html 테이블에 대해서만 맨 위 행 고정 (고정 테이블 헤더 스크롤) (0) | 2020.08.04 |
다중 서브 클래스에 단일 스토리 보드 uiviewcontroller를 사용하는 방법 (0) | 2020.08.04 |
결과가 무엇이든 상관없이 0으로 나누기를 지원하는 가장 빠른 정수 나누기는 무엇입니까? (0) | 2020.08.04 |
C # 클래스가 인터페이스에서 특성을 상속 할 수 있습니까? (0) | 2020.08.04 |