EXC_BAD_ACCESS 在导航栏中使用 UIPageControl 时

EXC_BAD_ACCESS when using UIPageControl in navigation bar

当我第一次单击 UITabBarItem 时 "Tabeller" 显示此视图:

选择任何行后,将显示此视图:

我想要实现的是在导航栏中显示 PageControl。它有效,但在这种情况下我遇到了奇怪的崩溃:

1) 我点击 UITabBarItem "Tabeller"

2) 选择任意行

3) PageControl出现,我向右向左滑动(这部分无关紧要)

4) 我切换到另一个 UITabBarItem

5) 切换回 "Tabeller"

6) 应用程序崩溃

我不知道这个崩溃发生在哪里。尝试在单击 "Tabeller" 时在第一个视图的 viewDidLoad 中放置一些断点,但没有任何反应。

需要注意的是,这是在我实现显示 PageControl 的代码后开始发生的,这是我在数据源委托中使用的代码:

self.navigationController.delegate = self;
CGSize navBarSize = self.navigationController.navigationBar.bounds.size;
CGPoint origin = CGPointMake( navBarSize.width/2, navBarSize.height/2 );
self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(origin.x, origin.y+16,
                                                                   0, 0)]; //Here added 45 to Y and it did the trick


self.pageControl.pageIndicatorTintColor = navbarColor;
self.pageControl.currentPageIndicatorTintColor = [UIColor lightGrayColor];

[self.pageControl setNumberOfPages:2];
[self.navigationController.navigationBar addSubview:self.pageControl];

如果您需要更多信息,请告诉我,我会更新问题。谢谢!

您似乎正在尝试访问已解除分配的对象。尝试启用僵尸对象:

  • 编辑您的目标方案
  • Select 'Run' 左侧菜单
  • 勾选复选框'Enable Zombie Objects'

这不会释放任何对象,因此请务必在调试后将其禁用。