【问题标题】:simple UIButton always crashes my app on touch简单的 UIButton 总是让我的应用程序在触摸时崩溃
【发布时间】:2011-05-31 00:48:12
【问题描述】:

我有一个奇怪的问题。 在我看来,我有两个分段控件和一个按钮。 分段控件可以完美运行,但是当我触摸它时,我的按钮会使应用程序崩溃。
NSLog 将不再被调用。

PageViewController.h

paintingOptions = [[UIButton alloc] initWithFrame:CGRectMake(200,30,100,100)];
[paintingOptions setTitle:@"Ok" forState:UIControlStateNormal];
[paintingOptions setBackgroundColor:[UIColor blackColor]];
[paintingOptions addTarget:self action:@selector(showPaintingOptions:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:paintingOptions];

-(void) showPaintingOptions: (id) sender {
   NSLog(@"Button pressed");
}

关于如何解决这个问题的任何提示?

调试:

调试输出只显示 (gdb)。 Xcode 向我展示了这一行:

PDFViewController.h

- (UIView *)view {
    return self.scrollView; }

0x32c37102  <+0014>  ldr    r1, [pc, #16]   (0x32c37114 <-[UIViewController nextResponder]+32>)

但是这个函数在另一个视图控制器中。 所以我有按钮的视图是这个滚动视图的子视图。

将 PageViewController 添加到 PDFViewController:

- (void)loadScrollViewWithPage:(int)page
{
if (page < 0)
    return;
if (page >= kNumberOfPages)
    return;

// replace the placeholder if necessary
PageViewController *controller = [viewControllers objectAtIndex:page];
if ((NSNull *)controller == [NSNull null])
{
    //page+1 cause CGPDF indexing starts with 1
    controller = [[PageViewController alloc] initWithPageNumberAndUrl:page+1: [chapter urlOnFilesystem]];
    [viewControllers replaceObjectAtIndex:page withObject:controller];
    [controller release];
}

// add the controller's view to the scroll view
if (controller.view.superview == nil)
{
    CGRect frame = scrollView.frame;
    frame.origin.x = frame.size.width * page;
    frame.origin.y = 0;
    controller.view.frame = frame;

    [scrollView addSubview:controller.view];


}
}

【问题讨论】:

  • 你能告诉我崩溃时发生了什么异常吗?
  • 您已将其标记为IBAction,您是否在NIB 文件中设置了任何事件处理?
  • 对不起,IBAction 是我之前用笔尖测试时的结果。
  • 方法showPaintingOptions:(id)sender在你的.h文件中声明了吗?
  • 能把代码粘贴到PDFViewController创建并调用PageViewController的地方吗?

标签: iphone xcode uibutton


【解决方案1】:

从崩溃日志看来,-(void) showPaintingOptions: (id) sender 不在您的目标自我中。请确保。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 2015-05-29
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多