StoryBoard ID란 무엇이며 어떻게 사용할 수 있습니까?
저는 IOS 개발에 처음이고 최근에 Xcode 4.5에서 시작했습니다.저는 모든 뷰에서 컨트롤러가 스토리보드 ID를 포함한 ID 변수를 설정할 수 있다는 것을 보았습니다.이것은 무엇이며, 어떻게 사용할 수 있습니까?
스택 오버플로에 대해 검색을 시작했지만 설명을 찾을 수 없었습니다.
제 컨트롤러를 기억하기 위해 설정할 수 있는 멍청한 레이블이 아닌 것 같습니다.그것은 무엇을 합니까?
스토리보드 ID는 해당 스토리보드 뷰 컨트롤러를 기반으로 새 뷰 컨트롤러를 만드는 데 사용할 수 있는 문자열 필드입니다.View 컨트롤러를 사용하는 예는 다음과 같습니다.
//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가 생성되고 현재 ViewController 위에 표시됩니다.
그리고 당신이 당신의 앱 대리인이라면 당신은 사용할 수 있습니다.
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)
}
Swift용 편집 >= 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는 '스토리보드'를 식별하지 않습니다.Apple 문서에 따르면 스토리보드는 '앱의 사용자 인터페이스 전체 또는 일부에 대한 뷰 컨트롤러를 나타냅니다.'그래서 아래 그림과 같은 것을 가지고 있다면 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' 카테고리의 다른 글
딜러를 사용해야 하는 시기와 이유는 무엇입니까? (0) | 2023.05.06 |
---|---|
SQL Server에서 외부 키 종속성을 찾는 방법은 무엇입니까? (0) | 2023.05.06 |
NSURL을 로컬 파일 경로로 변환 (0) | 2023.05.06 |
Bash에서 명령 출력에 변수를 설정하려면 어떻게 해야 합니까? (0) | 2023.05.06 |
MongoDb c# 드라이버 필드 값으로 배열에서 항목 찾기 (0) | 2023.05.06 |