현재로드 된 스토리 보드가 무엇인지 알고 싶습니다. 아래 코드를 사용했지만 여전히 현재의 스토리 보드가 아닙니다.현재 스토리 보드 이름을 아는 방법은 무엇입니까?
//This get me the Main storyboard
[[NSBundle mainBundle].infoDictionary objectForKey:@"UIMainStoryboardFile"];
현재로드 된 스토리 보드가 무엇인지 알고 싶습니다. 아래 코드를 사용했지만 여전히 현재의 스토리 보드가 아닙니다.현재 스토리 보드 이름을 아는 방법은 무엇입니까?
//This get me the Main storyboard
[[NSBundle mainBundle].infoDictionary objectForKey:@"UIMainStoryboardFile"];
스토리 보드를 통해 가장 간단한 방법의 인스턴스를 생성하거나 segues의 UIViewController 클래스에서 작업하는 경우는 다음과 같습니다
당신이 UIViewController에 에 UIView의 클래스에있는 경우UIStoryboard *storyBoard = self.storyboard;
UIResponder *responder = self;
while (![responder isKindOfClass:[UIViewController class]]) {
responder = [responder nextResponder];
if (nil == responder) {
break;
}
}
UIViewController *viewController = (UIViewController *) responder;
UIStoryboard *storyBoard = viewController.storyboard;
그냥 이렇게,이 쿼리 해결할 수
NSString *storyboardName;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
storyboardName = @"iPad";
} else {
storyboardName = @"iPhone";
}
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
내 질문을 이해하지 못할 수도 있습니다. 스토리 보드의 이름을 설정하지 않은 이름을 알고 싶습니다. – wod
이 링크를 통과 했습니까? http://stackoverflow.com/questions/14928817/identify-which-storyboard-is - 액티브 –
건물 위의 Durican의 대답에 :보기 컨트롤러 내에서
:
이UIStoryboard * storyboard = self.storyboard;
NSString * storyboardName = [storyboard valueForKey:@"name"];
(이름은 ".storyboard"파일 이름 확장자를 포함하지 않습니다.)
완벽한 솔루션. 감사. – VaporwareWolf
질문. 어떻게 이걸 생각해 냈어? 이 문서는 이름 속성에 대해서는 아무 것도 말하지 않는다. 모든 키 중 하나를 쿼리하는 방법이 없습니다. IB 라벨에서 찔 렀니? – VaporwareWolf
그냥 완전 추측, 나는 그것을 테스트하고 그것이 나왔다. :) – Xiphias
내가 이름을 얻을 수있는 방법? ? – wod