【问题标题】:presentModalView problempresentModalView 问题
【发布时间】:2011-03-10 12:06:00
【问题描述】:

我在按下按钮时使用的是二维码 SDK,它会有一个 presentModalView 我有一个信息按钮。我希望它链接到另一个笔尖以显示有关它如何工作的信息!

-(IBAction)QRscan;
    {       
        //Make sure we can even attempt barcode recognition, (i.e. on a device without a camera, you wouldn't be able to scan anything).
        if([SKScannerViewController canRecognizeBarcodes])
        { 
            SKScannerViewController *scannerVC = [[SKScannerViewController alloc] init]; //Insantiate a new SKScannerViewController
            scannerVC.delegate = self;
            scannerVC.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelTapped)];

            UIButton *button = [UIButton buttonWithType:UIButtonTypeInfoLight];
            [button addTarget:self action:@selector(settingsTapped) forControlEvents:UIControlEventTouchUpInside];
            UIBarButtonItem *infoItem = [[UIBarButtonItem alloc] initWithCustomView:button];
            scannerVC.navigationItem.rightBarButtonItem = infoItem; 
            scannerVC.title = @"Scan a QRcode";
            qrtest.text = @""; //Reset our info text label.
            scannerVC.shouldLookForQRCodes = YES;//QRCode Checker
            UINavigationController *_nc = [[[UINavigationController alloc] initWithRootViewController:scannerVC] autorelease]; //Put our SKScannerViewController into a UINavigationController. (So it looks nice).
            [scannerVC release];
            [self presentModalViewController:_nc animated:YES]; //Slide it up onto the screen.
        }


- (void) settingsTapped {

    qrcode_info *otherVC = [[qrcode_info alloc] initWithNibName:@"qrcode_info" bundle:Nil  ];

    [self presentModalViewController: otherVC animated:YES];
    [otherVC release];
}

【问题讨论】:

  • 问题/疑问是什么?有什么例外吗?
  • 到底是什么问题?我还注意到您有一个额外的分号,可能会导致编译器错误:-(IBAction) QRScan;
  • 我展示了一个用于扫描二维码的presentmodalviewcontroller,我想让用户通过按“i”按钮获得更多关于二维码的信息。依次调用“settingTapped”,但是由于某种原因它不起作用

标签: iphone xcode ios presentmodalviewcontroller


【解决方案1】:

您应该将 settingsTapped 函数添加到 _nc viewController 中,因为它将从模态视图控制器(即 _nc)内部调用,然后您必须在其之上呈现另一个模态视图控制器。

Apple 指南建议您应该“翻转”您的信息屏幕,而不是使用其他模态视图控制器。 (查看点击 i 时天气应用的行为)

【讨论】:

  • 如何将settingtapped函数放入nc viewcontroller?是否有任何示例可以显示翻转在模态视图中的工作方式?像这样 nc.modalTransitionStyle = UIModalTransitionStyleFlipHorizo​​ntal; ?感谢回复:)
  • 您应该将 (i) 的代码添加到 SKScannerViewController 文件 (settingsTapped) 中,然后从那里添加模态视图控制器。至于翻转视图,请看:stackoverflow.com/questions/843534/flip-view-iphone,第二个答案是说你甚至可以从模态视图控制器制作翻转视图...试试看
【解决方案2】:

您试图在不允许的模态视图控制器上显示模态视图控制器。
您必须将子视图添加到相机视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多