0

I open a PopOverview which contains a table View. It works fine But my cell also contain the detail Text which is not seen in table view cell when i open table view in popOver.

My code is as follow:

-(IBAction)btnTableMenu_TouchUpInside:(id)sender{

   ListView *popUp=[[ListView alloc] initWithNibName:@"ListView" bundle:nil];



popoverController = [[UIPopoverController alloc]initWithContentViewController:popUp];
popoverController.delegate =self;

[popoverController setPopoverContentSize:CGSizeMake(300, 700)];
[popoverController presentPopoverFromRect:CGRectMake(150,25,20,50) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];


} 

How can i solve This??

user1673099
  • 3,293
  • 7
  • 26
  • 57

3 Answers3

0

Try this one :

Add the observer in the class where your popOverController view is

your popOverController class

yourPopOverControlle.m

-(void)viewdidLoad{

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(removePopover:) name:@"hidePopOver" object:nil];

}
-(void)removePopover:(NSNotification *)notification{
   [yourPopOver  dismissPopoverAnimated:YES];
}

yourTableViewController.m

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [[NSNotificationCenter defaultCenter]postNotificationName:@"hidePopOver" object:nil]; 

}
Nitin Gohel
  • 49,482
  • 17
  • 105
  • 144
Vinod Singh
  • 1,374
  • 14
  • 25
0

To see detailed text label you need create you cell with UITableViewCellStyleSubtitle style;

For example :
 - (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell * cell = nil;

cell = [_tableView dequeueReusableCellWithIdentifier:kTableCellIdentifier];
    if(cell==nil)
{
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kTableCellIdentifier] autorelease];
    }

// configure cell
    cell.textLabel.text = "text label text";
    cell.detailTextLabel.text = "detailed text label text";

return cell;
}
QArea
  • 4,955
  • 1
  • 12
  • 22
-1

see user167.. you just need to create new UITableViewcontroller for example DropDwnLevel1TableViewController.h, DropDwnLevel1TableViewController.m and xib right.

Now in DropDwnLevel1TableViewController Create IBOutlate of UITableVIew set one UITableView in to nib connect IBOUTLATE and set Delegate and dataSource

Now you can set created TableViewController add in to your UIPopoverViewcontroller like below method:-

-(IBAction)btnTableMenu_TouchUpInside:(id)sender{

  DropDwnLevel1TableViewController *firstViewCtrl = [[DropDwnLevel1TableViewController alloc] init];
        firstViewCtrl.title=@"My tableView";

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

        [firstViewCtrl contentSizeForViewInPopover];

        myPopOVer = [[UIPopoverController alloc] initWithContentViewController:navbar];
        [navbar release];

        myPopOVer.delegate = self;
        myPopOVer.popoverContentSize =CGSizeMake(250,200);

        [myPopOVer presentPopoverFromRect:sender.frame inView:sender.superview permittedArrowDirections:UIPopoverArrowDirectionRight animated:YES];


}

FOR dismiss popOVer

In you class which declare popOverViewcontroller .m file ViewDidLoad method

- (void)viewDidLoad
{
     // Hear creating NSNotificationCenter for dismiss popover

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(DismissPopOver:)
                                                 name:@"Dismiss"
                                               object:nil];

  [super viewDidLoad];

}

-(void)DismissPopOver:(NSNotification *)notification {

    [yourPopOVer dismissPopoverAnimated:YES];

}

Now in DropDwnLevel1TableViewController.m didSelectRowAtIndexPath

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
          // hear call NSNotificationCenter who creating in main class
         [[NSNotificationCenter defaultCenter] postNotificationName:@"Dismiss" object:self];

}
Nitin Gohel
  • 49,482
  • 17
  • 105
  • 144