为什么我的UIToolBar会滚动我的UITableView?

时间:2009-05-01 17:50:02

标签: iphone cocoa-touch objective-c

我在构建视图时遇到了一些困难。一切都很好,直到我需要在我的视图中插入UIToolBar。 tableView放置在我预期放置的位置。另一方面,UIToolBar随表格向上和向下滚动,它不会保持固定。放在屏幕上看起来也很奇怪 - 我猜是因为放置它的计算不对?附上这个问题的是截图以及我用来构建它的代码。感谢您的帮助,找出我做错了什么。屏幕截图:http://dl-web.dropbox.com/u/57676/screenshots/broketoolbar.png

代码:

- (void)loadView
{
    [super loadView];
    // TableViews that wish to utilize tableView footers/headers should override this method.

    UITableView *aTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame] style:UITableViewStylePlain];
    aTableView.autoresizingMask = (UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight);
    aTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

    aTableView.delegate = self;
    aTableView.dataSource = dataSource;

    self.tableView = aTableView;
    self.view = tableView;
    [aTableView release];

    UIToolbar *toolbar = [UIToolbar new];
    [toolbar setBarStyle:UIBarStyleBlackOpaque];
    [toolbar sizeToFit];
    CGFloat toolbarHeight = [toolbar frame].size.height;
    CGRect mainViewBounds = self.view.bounds;
    [toolbar setFrame:CGRectMake(CGRectGetMinX(mainViewBounds),
                                 CGRectGetMinY(mainViewBounds) + CGRectGetHeight(mainViewBounds) - (toolbarHeight * 2.0),
                                 CGRectGetWidth(mainViewBounds),
                                 toolbarHeight)];
    [self.view insertSubview:toolbar aboveSubview:self.tableView];
    [toolbar release];
}                            

1 个答案:

答案 0 :(得分:2)

因为self.view是你添加了工具栏的tableView。