простой UIButton всегда вылетает мое приложение на ощупь - PullRequest
1 голос
/ 30 мая 2011

У меня странная проблема. На мой взгляд, у меня есть два сегментированных элемента управления и одна кнопка. Сегментированные элементы управления работают отлично, но моя кнопка вызывает сбой приложения, когда я касаюсь его.
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");
}

Есть какие-нибудь советы, как это решить?

Debug:

Вывод отладки ничего не говорит, кроме (GDB). Xcode показывает мне эту строку:

PDFViewController.h

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

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

Но эта функция в другом контроллере вида. Таким образом, представление, где у меня есть кнопка, является подпредставлением этого scrollView.

Добавление 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];


}
}

1 Ответ

1 голос
/ 30 мая 2011

Из журнала сбоев это выглядит как - (void) showPaintingOptions: (id) отправитель не находится в вашей целевой личности.Пожалуйста, убедитесь, что.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...