Pengontrol Navigasi di popover

Saya benar-benar pemula dalam pengembangan aplikasi iPad.

Saya tertarik untuk membuat aplikasi di mana saya memiliki popover yang menampilkan tampilan tabel dengan daftar item. Kemudian saya memilih item dan tampilan menelusuri ke tampilan tabel lain yang terdiri dari daftar item lain dan tombol navigasi kembali juga.

tingkat yang akan saya telusuri bersifat dinamis.

Tolong bimbing saya dengan sumber daya yang sesuai untuk membantu saya memecahkan masalah.


person user640918    schedule 02.03.2011    source sumber
comment
persis apa yang saya cari! :)   -  person Breakpoint    schedule 17.07.2012


Jawaban (3)


Saya melakukannya sebelumnya dan itu berhasil dengan baik! Cukup tetapkan fungsi ini ke tombol Anda (mungkin UIBarButtonItem):

UIPopoverController *popover;
bool isPopoverOpen = false;
-(void)openPopover{
    if(!isPopoverOpen){
        FirstViewController *firstViewCtrl = [[PartsViewCtrl alloc] init];
        UINavigationController *navbar = [[UINavigationController alloc] initWithRootViewController:firstViewCtrl];
        [firstViewCtrl release];
        navbar.contentSizeForViewInPopover = CGSizeMake(TABLE_WIDTH, TABLE_HEIGHT);
        popover = [[UIPopoverController alloc] initWithContentViewController:navbar];
        [navbar release];
        popover.delegate = self;
        popover.popoverContentSize = CGSizeMake(TABLE_WIDTH, TABLE_HEIGHT);
        [popoverOnPartsView presentPopoverFromBarButtonItem:barButtonItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
        isPopoverOpen = true;
    }else{
        [popover dismissPopoverAnimated:YES];
        [popover release];
        isPopoverOpen = false;
    }
}

Dan implementasikan fungsi ini ke FirstViewController yang memiliki UITableView:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    SecondViewController *secondViewController = [[SecondViewController alloc] init];
    [self.navigationController pushViewController:secondViewController animated:YES];
    [secondViewController release];
}

Sekarang Anda juga dapat menambahkan UITableView ke SecondViewController. Dan gunakan skenario ini untuk tabel lainnya!

Saya harap ini berhasil untuk Anda!

person Hamed Rajabi    schedule 03.11.2011

Saat Anda membuat popover, Anda hanya perlu mengalokasikan UINavigationController dan gunakan ini untuk mengelola hierarki tampilan dalam popover itu sendiri. Pencarian web cepat mengungkapkan tutorial ini yang mencakup hal-hal yang Anda perlukan untuk mengetahui.

Saya juga bermaksud menambahkan bahwa Anda harus mengetahui perkembangan Objective-C dan iOS secara umum. Jangan mencoba dan membabi buta menggunakan hal-hal yang Anda temukan di internet tanpa memahami apa yang sebenarnya Anda lakukan :)

person jdmunro    schedule 02.03.2011
comment
Hai, Terima kasih atas balasan awal. Saya akan mengerjakannya dan memperbaruinya jika berhasil untuk saya. :) - person user640918; 03.03.2011

Do the following steps 

1)Dalam aksi tombol (dengan mengklik tombol itu, pop over akan muncul) tulis kodenya

[di sini PopOverContentViewController adalah viewController di mana saya memiliki tampilan tabel dan beberapa daftar item yang harus ditampilkan ketika pop over tiba]

 - (IBAction)callPopOver:(id)sender 
  {


    UIButton *button = (UIButton*)sender;
    PopOverContentViewController1 *popOverContent = [[PopOverContentViewController1     alloc]initWithNibName:@"PopOverContentViewController1" bundle:nil];

    UINavigationController *navbar = [[UINavigationController alloc]  initWithRootViewController:popOverContent];

    navbar.contentSizeForViewInPopover = CGSizeMake(266, 200);
    popover = [[UIPopoverController alloc] initWithContentViewController:navbar];
    popover.delegate = self;
    [popover presentPopoverFromRect:CGRectMake(button.frame.size.width / 2,   button.frame.size.height / 1, 1, 1) inView:button   permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
    [popover setPopoverContentSize:CGSizeMake(266, 200) animated:YES]; 
    [popUpContent release];


    }      

2) sekarang untuk mengubah tampilan tabel dengan mengklik salah satu baris, ketik kode ini di PopOverViewController.m

[di sini PopOverViewController2 adalah ViewController tempat kita menampilkan tampilan tabel berikutnya]

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    PopOverViewController2 *secondViewController = [[PopOverViewController2 alloc] init];
    [self.navigationController pushViewController:secondViewController animated:YES];
    [secondViewController release];
    }

3) untuk menghindari perubahan ukuran popover saat navigasi, tulis kode berikut di viewDidLoad dari kedua pengontrol tampilan (yaitu PopOverContentViewController1 dan PopOverContentViewController2)

 - (void)viewDidLoad
 {
  [super viewDidLoad];
  [self setContentSizeForViewInPopover:CGSizeMake(266, 200)];
 }
person MouzmiSadiq    schedule 11.09.2012