2013-08-03 2 views
-1

Я использую класс WEPopoverViewcontroller. Во-первых, я импортировать этот класс, затем добавить этот код:Использование WEPopoverViewController в iphone

WEPopoverContentViewController.h 
{ 
    #import <UIKit/UIKit.h> 

    @interface WEPopoverContentViewController : UITableViewController { 
    NSArray *data; 

    } 
    @property(nonatomic,strong) NSArray *data; 

    @end 

    WEPopoverContentViewController.m 
    { 
    #import "WEPopoverContentViewController.h" 


    @implementation WEPopoverContentViewController 
    @synthesize data; 


    #pragma mark - 
    #pragma mark Initialization 


    #pragma mark - 
    #pragma mark View lifecycle 

    - (void)viewDidLoad 
    { 
    [super viewDidLoad]; 
     self.contentSizeForViewInPopover = CGSizeMake(150, 3* 44 - 1); 

     data=[[NSArray alloc]initWithObjects:@"rahul",@"sharma" ,nil]; 

    self.tableView.rowHeight = 44.0; 
    self.view.backgroundColor = [UIColor clearColor]; 
     // Uncomment the following line to display an Edit button in the navigation bar for this view controller. 
     // self.navigationItem.rightBarButtonItem = self.editButtonItem; 

} #pragma знак - #pragma вид метки Таблица источника данных

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    // Return the number of sections. 
     return 1; 
    } 


    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
// Return the number of rows in the section. 
     return [viewcont.data count]; 
     } 

    // Customize the appearance of table view cells. 
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

     static NSString *CellIdentifier = @"Cell"; 

     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
     if (cell == nil) 
     { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
     } 

     // Configure the cell... 
    cell.textLabel.text = [NSString stringWithFormat:@"%@",[viewcont.data objectAtIndex:indexPath.row]]; 
      cell.textLabel.textColor = [UIColor whiteColor]; 
     return cell; 
     } 


     #pragma mark - 
     #pragma mark Table view delegate 

     - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
     { 

     NSLog(@"selected index here"); 
     // Navigation logic may go here. Create and push another view controller. 

     } 

Этот вид использования контроллера для показа popoverTable для этого Я использую мой взгляд код контроллера здесь .....

ViewController.h 
    { 
    #import <UIKit/UIKit.h> 


    @class WEPopoverController; 
    @interface ViewController : UIViewController { 

    WEPopoverController *popoverController; 
    NSArray *data; 
    UITableView *table; 

    } 
    @property (nonatomic, strong) WEPopoverController *popoverController; 
    @property(nonatomic,strong)  NSArray *data; 
    - (IBAction)onButtonClick:(UIButton *)button; 

    @end 

    } 
    } 

Я создал кнопку, используя этот код:

 ViewController.m 
     { 
     - (IBAction)onButtonClick:(UIButton *)button { 

     if (self.popoverController)` 
     { 
     [self.popoverController dismissPopoverAnimated:YES]; 
     self.popoverController = nil; 
     [button setTitle:@"Show Popover" forState:UIControlStateNormal]; 
     } 
     else 


{ 
UIViewController *contentViewController = [[WEPopoverContentViewController alloc] initWithStyle:UITableViewStylePlain]; 
self.popoverController = [[WEPopoverController alloc] initWithContentViewController:contentViewController]; 
    self.contentSizeForViewInPopover = CGSizeMake(200, 200); 
    data=[[NSArray alloc]initWithObjects:@"rahul",@"sharma", nil]; 
    NSLog(@"data %@",data); 
    [self.popoverController presentPopoverFromRect:button.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; 
    [button setTitle:@"Hide Popover" forState:UIControlStateNormal]; 
} 
    } 
    } 

Используя этот код, который я повернутый на этой кнопке, то контроллер идет в WEPopoverContentViewController и показать поповер в соответствии создать массив в этом WEPopoverContentViewController(NSArray *data) создать ряд успешно, но я хочу, я хочу, чтобы создать этот массив в ViewController.m, а затем показать трещать, но когда мы создаем массив в ViewController, то как показать в таблице popover этот пустой стол?

+0

пут код вашего UITableView – iPatel

+0

Я не понимаю, какой код поставить на UITableView .... Вы можете объяснить.... – rahul

ответ

0

использовать этот код на кнопку тесьмой, чтобы получить таблицу, заполненную и показать правильный путь ......

- (IBAction)onButtonClick:(UIButton *)button { 

    if (self.popoverController) 
    { 
     [self.popoverController dismissPopoverAnimated:YES]; 
     self.popoverController = nil; 
     [button setTitle:@"Show Popover" forState:UIControlStateNormal]; 
    } 
    else 
    { 
     WEPopoverContentViewController *contentViewController = [[WEPopoverContentViewController alloc] initWithStyle:UITableViewStylePlain]; 
     self.popoverController = [[WEPopoverController alloc] initWithContentViewController:contentViewController]; 
     self.contentSizeForViewInPopover = CGSizeMake(200, 200); 
     data1=[[NSArray alloc]initWithObjects:@"rahul",@"sharma", nil]; 
     NSLog(@"data %@",data1); 
     contentViewController.data=(NSArray*)data1; 
     [self.popoverController presentPopoverFromRect:button.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; 
     [button setTitle:@"Hide Popover" forState:UIControlStateNormal]; 
    } 
} 
Смежные вопросы