0

テーブルビューを含むPopOverviewを開きます。正常に動作しますが、popOverでテーブルビューを開いたときにテーブルビューセルに表示されない詳細テキストもセルに含まれています。

私のコードは次のとおりです。

-(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];


} 

どうすればこれを解決できますか?

4

3 に答える 3

0

詳細なテキストラベルを表示するには、UITableViewCellStyleSubtitleスタイルでセルを作成する必要があります。

例えば ​​:

 - (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;
}
于 2013-01-22T09:40:31.390 に答える
0

これを試してください:

popOverControllerビューがあるクラスにオブザーバーを追加します

あなたのpopOverControllerクラス

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]; 

}
于 2013-01-17T11:56:35.193 に答える
-1

user167を参照してください。UITableViewcontrollerたとえばDropDwnLevel1TableViewController.h、新しいものを作成する必要がDropDwnLevel1TableViewController.mありxibます。

次に、1つのUITableViewを設定してDropDwnLevel1TableViewControllerIBOutlateを作成し、接続して設定し、UITableVIewnibIBOUTLATEDelegatedataSource

TableViewControllerこれで、作成したアドインをUIPopoverViewcontroller以下のような方法に設定できます。-

-(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];


}

popOVerを却下するため

popOverViewcontroller .mファイルViewDidLoadメソッドを宣言するクラスで

- (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];

}

DropDwnLevel1TableViewController.m didSelectRowAtIndexPath

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

}
于 2013-01-17T11:28:33.853 に答える