0

これは私を狂わせています!(iOS 5以降、ARC)

ここでの非常に単純な概念:私はUIView埋め込まれたを持っていUITableViewます、特定のセルをクリックすると、私はiOSmodalviewにセグエを使って起動させます。これ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

UIViewControllerUITableViewを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 に答える