поднятая панель вкладок и dismissModalViewControllerAnimated - PullRequest
1 голос
/ 27 декабря 2011

Я создал приложение с поднятой панелью вкладок, которое мы видим в таких приложениях, как Foursquare, Instagram или DailyBooth.Чтобы сделать это, я помещаю UIButton в центр панели вкладок, и все выглядит хорошо, вот код в моем AppDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

 self.mainButton = [UIButton buttonWithType:UIButtonTypeCustom];
    // set up the mainButton with an image and calculate coordinates

[self.mainButton addTarget:self action:@selector(showMainViewController:) forControlEvents:UIControlEventTouchUpInside];

    [self.window addSubview:tabBarController.view];
    [self.window addSubview:mainButton];
    [self.window makeKeyAndVisible];
}

mainButton был определен в AppDelegate.h с его свойством (не, сохраните) и синтезируйте.

Нажав на mainButton:

- (IBAction) showMainViewController:(id)sender {
    [self.mainButton setHidden:YES];
    MainViewController *mainVC = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
    UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:mainVC];
    [self.mainNavController presentModalViewController:nc animated:YES];
    [nc release];
    [mainVC release];
}

Так как mainButton остаются отображаемыми на экране, я решил скрыть это.: Я должен избегать сокрытия кнопки?

Проблемы возникают, когда я решаю закрыть MainViewController, я не знаю, правильно ли я работаю, я делаю это простым [self dismissModalViewControllerAnimated:YES]; в MainViewController.m В результате я не могу показать mainButton что-то вроде [self.mainButton setHidden:NO];

1 Ответ

1 голос
/ 25 апреля 2012

Это помогло мне открыть кнопку.

NSArray *array = self.tabBarController.view.subviews;
for (int i=0; i<[array count]; i++) {
    if ([[array objectAtIndex:i] isKindOfClass:[UIButton class]]){
        UIButton *uibtn = (UIButton *) [array objectAtIndex:i];
        uibtn.hidden = NO;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...