0

这快把我逼疯了!(iOS 5+,ARC)

这里非常简单的概念:我有UIView一个嵌入的UITableView,当点击一个特定的单元格时,我有一个modalview带有 segue 的 iOS 启动。This modalview, 是一个UIView嵌入UITableView的,其中填充了来自数据源的名称。您可以在此视图中选择多个项目(使用cellaccessory: checkmark)

目标 显示某种“完成”按钮

好的,所以在跑了很多次之后,我明白模态窗口实际上不允许navigationController项目。不toolbarsNavigationbars默认情况下不。好的,所以我会创建我自己的。

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSInteger tbHeight = 50;
    UIToolbar *tb = [[UIToolbar alloc] initWithFrame:CGRectMake(0, (self.view.frame.size.height - tbHeight), self.view.frame.size.width, tbHeight)];
    tb.translucent = YES;

    UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleBordered target:self action:@selector(doneAction:)];

    NSArray *barButton  =   [[NSArray alloc] initWithObjects:flexibleSpace,doneButton,nil];
    [tb setItems:barButton];


    [self.view addSubview:tb];

    barButton = nil;

    //....

}

够简单吧?

嗯,toolbar确实出现了,当然。但是,它不会像它应该的那样粘在底部。事实上,当你上下滚动嵌入tableview时,UIToolbar它会随之而来,就像它卡在tablevie不知何故上一样。

我一直在寻找解决方案的时间,我什么都没遇到。想知道这里是否有人有任何想法?

如果您需要更多信息,请务必询问:)

4

1 回答 1

1

奇怪的是,如果它是UIViewController子类,您的工具栏会随表格一起滚动,除非您已将 UITableView 分配给 self.view 或其他东西......但既然是这样,这就是我在将固定项目添加到表格视图时所做的事情:

-(void) scrollViewDidScroll:(UIScrollView *)scrollView {

    tb.frame = CGRectMake(0, self.view.bounds.size.height-tb.bounds.size.height+scrollView.contentOffset.y, self.view.bounds.size.width, tb.bounds.size.height);

}
于 2012-11-27T09:38:45.533 回答