1

ここに私のアプリがあり、iOS 5.1 以降をサポートしています。ただし、iOS 6.x以下の場合はカメラボタンを非表示にしたい。これどうやってするの?カメラボタンを追加する方法は次のとおりです。

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if ([viewController isKindOfClass:[ATWebViewController class]]) {
    NSURL *url = nil;
    if (viewController.tabBarItem.tag == 0) {
        url = [NSURL URLWithString:@"http://----.de"];
    }
    else if (viewController.tabBarItem.tag == 1) {
        url = [NSURL URLWithString:@"http://----.de"];
    }

// if viewController.tabBarItem.tag==0 ATWebViewController *webViewController = [[ATWebViewController alloc] initWithNibName:nil bundle:nil URL:url ];

    UINavigationController *navigationBarController = [[UINavigationController alloc] initWithRootViewController:webViewController];

    navigationBarController.navigationBar.tintColor = ATNavigationBarTintColor;

    if (viewController.tabBarItem.tag == 0) {

    webViewController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissWebView)];
    webViewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(TakePhoto)];
        }

     else if (viewController.tabBarItem.tag == 1) {

    webViewController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissWebView)];
         }

    navigationBarController.modalPresentationStyle = UIModalPresentationFullScreen;
    [self presentModalViewController:navigationBarController animated:YES];
    return NO;
}
return YES;

}

4

1 に答える 1

1

通常は、クラスまたはメソッドの存在をチェックして、特定の機能をチェックするのが最善です。しかし、この場合、 に対する適切な API チェックはありませんUIWebView

1つの解決策は、次のことです。

if ([[[UIDevice currentDevice] systemVersion] hasPrefix:@"5"]) {
    // iOS 5.x
} else {
    // not iOS 5.x
}
于 2013-05-11T02:35:17.900 に答える