안녕하세요. 현재 분할보기 컨트롤러가있는 분당 애플리케이션이 있습니다. 내가하고 싶은 일은 나머지 앱이 나타나기 전에 로그인 화면을 추가하는 것입니다. 그렇지 않은 경우 네비게이션 컨트롤러의 화면 왼쪽에 로그인 화면이 나타날 수 있습니다. 내 응용 프로그램 위임에SplitView의 로그인 화면 Ipad
는 현재
// Override point for customization after application launch.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
//Grab storyBoard
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
//Grab a reference to the UISplitViewController
UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
//splitViewController.delegate = (id)navigationController.topViewController;
//NEW IMPLEMENTATION BELOW
//Grab a reference to the RightViewController and set it as the SVC's delegate.
RightViewController *rightViewController = (RightViewController *) [[splitViewController.viewControllers objectAtIndex:1] topViewController];
splitViewController.delegate = rightViewController;
//Grab a reference to the LeftViewController and get the first asset in the list.
UINavigationController *leftNavController = [splitViewController.viewControllers objectAtIndex:0];
LeftViewController *leftViewController = (LeftViewController *)[leftNavController topViewController];
AssetTracking *firstAsset = [[leftViewController assets] objectAtIndex:0];
//Set it as the RightViewController's monster.
[rightViewController setAssetTracking:firstAsset];
//Set the RightViewController as the left's delegate.
leftViewController.delegate = rightViewController;
}
return YES;
}
나는이를 추가하려고했지만 시도 때 나는 내가 오류가 마지막에 추가하는 경우
LoginViewController *lvc = (LoginViewController *) [storyBoard instantiateViewControllerWithIdentifier:@"login123"];
lvc.modalPresentationStyle = UIModalPresentationFullScreen;
[splitViewController presentViewController:lvc animated:NO completion:nil];
을 제대로 작동 나던입니다 실행하려면
Warning : UISplitViewController : 0x9b64120에 대한보기를 LoginViewController : 0x9b5c5a0에 시도해보십시오! 뷰가 창 계층 구조에 없습니다!
어쨌든이 화면을 실행하거나 표시 할 수 있습니까? 현재 스토리 보드의보기는 단편으로 연결되어 있지 않으며 식별자로 호출합니다.
이
내가 오류 메시지에서 사용자- (IBAction)enterCredentials
{
NSString *hashedPassword = @"";
hashedPassword = [self sha1:(passwordField.text)];
if ([[credentialsDictionary objectForKey:usernameField.text]isEqualToString:hashedPassword]) {
if([rememberLogin isOn])
{
NSLog(@"save user details");
if ([usernameField text ]){
[keychain setObject:[usernameField text] forKey:(__bridge id)kSecAttrAccount];
}
// Store password to keychain
if ([passwordField text]){
[keychain setObject:[passwordField text] forKey:(__bridge id)kSecValueData];
}
}else
{
NSLog(@"not saving user details");
[keychain resetKeychainItem];
}
usernameField.text = @"";
passwordField.text = @"";
//[self dismissViewControllerAnimated:NO completion:nil];
[self performSegueWithIdentifier:@"loginCorrect" sender:self];
}
else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:@"The Username Or Password You Entered Is Incorrect" delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil];
[alert show];
}
}
. 내가 그들을 검증하는 데 사용하는 방법을 보려면 위를보십시오. 나는 segue를 사용하려했지만 더 이상 작동하지 않는다. – Karl
사용자가 확인되면 appDelegate 또는 다른 책임 인스턴스에 대리자 패턴이나 알림을 통해 알릴 수있다. 담당 인스턴스에 알리면 appDelegate의 window.rootViewController를 다시 UISplitViewController로 바꿀 수 있습니다. –
죄송합니다.이 방법에 대해 설명해 주시겠습니까? 감사의 말 : – Karl