【问题标题】:UIToolbar in UIScrollView fixed with UIViewController as scrolling as subview problemUIScrollView 中的 UIToolbar 修复了 UIViewController 作为子视图滚动问题
【发布时间】:2010-02-07 00:23:21
【问题描述】:

我遇到了一个大问题,我不知道如何解决......

我的 UIToolbar 应该是固定在屏幕底部的,在整个屏幕上显示为缩放。

在我的情况下,我有:

一个 UIViewController

使用 UIScrollView 滚动图像。

所以我需要屏幕底部的工具栏,但它取代了图像滚动并占据了整个屏幕。当我从 iphone Xcode 的 V2 移动到 V3 时发生这种情况..在它显示正常之前...

我将简要解释一下我是如何初始化这些东西的: 在 h 文件中 UIScrollView *myScroll; 在我拥有的 .M 文件中 UIToolbar *工具栏;

然后在 (void)viewDidLoad {

toolbar = [UIToolbar new];
toolbar.barStyle = UIBarStyleDefault;

toolbar.frame = CGRectMake(0, 410, 320, 50);
------------------------

myScroll.contentSize = CGSizeMake(myImage.frame.size.width, myImage.frame.size.height);

myScroll.maximumZoomScale = 4.0;
myScroll.minimumZoomScale = 1;

myScroll.clipsToBounds = YES;
CGRect frame2 = myImage.frame;

frame2.origin.y=frame2.origin.y+40;
myScroll.contentOffset=frame2.origin;



myScroll.delegate = self;

[myScroll addSubview:myImage];  

    [myScroll.superview addSubview:toolbar];    

所以工具栏上设置的框架不起作用......它会在整个屏幕上设置自己......

我不希望扩展 UIScrollView,因为我想要一些与此类功能相关的按钮..

我想要实现的功能是拥有可缩放、可平移的照片和一些选项,用于评论、投票和上一页。 next etc..从工具栏alt text http://www.freeimagehosting.net/image.php?ef28ce0bb4.jpg

这是一个预览:

【问题讨论】:

    标签: iphone uiscrollview uitoolbar


    【解决方案1】:

    最简单的方法是使用 Interface Builder 来设置您的工具栏。

    只需将 UIToolbar 拖放到您的窗口中并将其连接到您的视图控制器。以下是您以编程方式设置按钮的方法,但您也可以轻松地将它们添加到 IB 中并将它们连接到那里。

    - (void)viewDidLoad {
        UIBarButtonItem *addButton = [[UIBarButtonItem alloc] 
                                  initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
                                  target:self 
                                  action:@selector(insertNewObject)];
    
        NSArray *items = [NSArray arrayWithObject:addButton];
        self.toolbar.items = items;
    }
    

    【讨论】:

    • 我会试试的,但我担心它会搞砸 UIscrollview
    • 我试过了,它并没有以某种方式显示工具栏...仅在界面构建器中...我正在做一件事来隐藏 TAB 栏和导航栏...当我显示视图... [self.mynav.view setNeedsLayout]; [self.mynav setNavigationBarHidden:YES 动画:YES]; appDelegate.tabBarController.hidesBottomBarWhenPushed = YES;
    • 如果不查看您的 nib 文件就很难调试它。您的标签栏是否可能位于工具栏的顶部?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多