2

我正在尝试在 UINavigationController 中使用此代码:

http://developer.apple.com/library/ios/#samplecode/PhotoScroller/Introduction/Intro.html

在故事板中:

  • 我将 PageViewController 嵌入到导航控制器中。
  • 我将 Topbar 更改为“NavigationBar”。
  • 我在 NavigationBar 中添加了一个标题:“ImageView”。
  • 我将情节提要 ID 添加到 PageViewController 和 NavigationController。

在 ImageViewScrollView.m :

- (void)displayTiledImageNamed:(NSString *)imageName size:(CGSize)imageSize

我改变这一行:

_zoomView = [[UIImageView alloc] initWithFrame:(CGRect){CGPointZero, imageSize }];

通过这些:

CGPoint navPoint = CGPointMake(0, 45);
_zoomView = [[UIImageView alloc] initWithFrame:(CGRect){navPoint, imageSize}]; 

我也改变了这些行:

- (CGPoint)minimumContentOffset
{
    return CGPointZero;
}

通过这些:

- (CGPoint)minimumContentOffset
{
    CGPoint navPoint = CGPointMake(0, 45);
    return navPoint;
}

而且我在使用 iOS 模拟器时看不到导航栏。替换 CGPointZero 是不够的。

怎么了 ?

4

1 回答 1

0

我找到了一种更简单的方法来将 photoscroller 放在 UINavigationController 中。

我刚刚添加了 appdelegate.h :

@property (nonatomic, retain) UINavigationController *navController;

在 appdelegate.m 中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // kick things off by making the first page
    PhotoViewController *pageZero = [PhotoViewController photoViewControllerForPageIndex:0];
    if (pageZero != nil)
    {
        // assign the first page to the pageViewController (our rootViewController)
        UIPageViewController *pageViewController = (UIPageViewController *)self.window.rootViewController;
        pageViewController.dataSource = self;

        [pageViewController setViewControllers:@[pageZero]
                                  direction:UIPageViewControllerNavigationDirectionForward
                                   animated:NO
                                 completion:NULL];

        self.navController = [[UINavigationController alloc] initWithRootViewController:pageViewController];
        [[self window] setRootViewController:_navController];   
    }
return YES;

}

于 2013-02-02T12:36:33.943 回答