2013-11-28 3 views
0

Я использовал учебник по AppCoda для добавления своего типа стиля UIPageViewController - он работает потрясающе - просто я не могу удалить его нажатием кнопки.Удалить PageViewController

Вот мой PageViewController:

#import "startupViewController.h" 
#import "SKSlideViewController.h" 
#import "APPChildViewController.h" 

@interface startupViewController() 
@end 
@implementation startupViewController 
@synthesize outletWallpaper; 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self mymethod]; 
} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

- (void)mymethod { 

    self.pageController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil]; 

    self.pageController.dataSource = self; 
    [[self.pageController view] setFrame:[[self view] bounds]]; 

    APPChildViewController *initialViewController = [self viewControllerAtIndex:0]; 

    NSArray *viewControllers = [NSArray arrayWithObject:initialViewController]; 

    [self.pageController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil]; 

    [self addChildViewController:self.pageController]; 
    [[self view] addSubview:[self.pageController view]]; 
    [self.pageController didMoveToParentViewController:self]; 

} 

- (APPChildViewController *)viewControllerAtIndex:(NSUInteger)index { 

    APPChildViewController *childViewController = [[APPChildViewController alloc] initWithNibName:@"APPChildViewController" bundle:nil]; 
    childViewController.index = index; 

    return childViewController; 

} 

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController { 

    NSUInteger index = [(APPChildViewController *)viewController index]; 

    if (index == 0) { 
     return nil; 
    } 

    // Decrease the index by 1 to return 
    index--; 

    return [self viewControllerAtIndex:index]; 

} 

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController { 

    NSUInteger index = [(APPChildViewController *)viewController index]; 

    index++; 

    if (index == 3) { 
     return nil; 
    } 

    return [self viewControllerAtIndex:index]; 

} 

- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController { 
    // The number of items reflected in the page indicator. 
    return 3; 
} 

- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController { 
    // The selected item reflected in the page indicator. 
    return 0; 
} 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 

    NSLog(@"Switching View Controllers..."); 

     SKSlideViewController *slideController=(SKSlideViewController *)[segue destinationViewController]; 
     [slideController setStoryBoardIDForMainController:@"MainVC" leftController:@"LeftVC" rightController:@"RightVC"]; 
     [slideController reloadControllers]; 

} 

@end 

Этот код посылает меня в другой файл, который оттуда, мне нужно, чтобы удалить все это.

+0

Я попытался удалить все из SuperView, ничего не работает. Но я попытался установить self.view.alpha на 0 (на новый файл .m, к которому он привязан), который, похоже, работает, но что-то внизу (кнопки и т. Д.), Я почему-то не могу использовать? – iOSDec

+0

Прокрутите все виды в своем представлении, просмотрите, возможно, детское видение и найдите свою страницу. Контроллер первым. – Retterdesdialogs

+0

Я просто попытался добавить этот код в UIPageController.m: - (IBAction) CloseAll: (ID) отправителя { UIStoryboard * SB = [UIStoryboard storyboardWithName: @ "Main" пачке: ноль]; UIViewController * vc = [sb instantiateViewControllerWithIdentifier: @ "MainVC"]; vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; [self presentViewController: vc animated: YES завершение: NULL]; } Он теперь говорит: Попытка представить на чей вид не в иерархии окон !? – iOSDec

ответ

0

Я думаю, что сделал тот же учебник на appcoda и имел тот же вопрос!

Решение, которое работает для меня, я наткнулся случайно на another question:

// Replace deleteVC with your UIPageViewController 
[deleteVC willMoveToParentViewController:nil]; 
[deleteVC.view removeFromSuperview]; 
[deleteVC removeFromParentViewController]; 
Смежные вопросы