在导航栏中使用UIPageControl时EXC_BAD_ACCESS

时间:2015-05-07 10:15:18

标签: ios objective-c uinavigationcontroller uinavigationbar uipagecontrol

当我第一次点击UITabBarItem“Tabeller”时,会显示以下视图:

enter image description here

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

enter image description here

我想要实现的是在导航栏中显示PageControl。它工作和所有但是我在这种情况下得到一个奇怪的崩溃:

1)我点击UITabBarItem“Tabeller”

2)选择任何行

3)出现PageControl,我向右滑动(这部分无所谓)

4)我切换到另一个UITabBarItem

5)切换回“Tabeller”

6)应用程序崩溃

enter image description here

我不知道这次事故发生在哪里。当点击“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];

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

1 个答案:

答案 0 :(得分:1)

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

  • 编辑目标方案
  • 选择'运行'在左侧菜单上
  • 选中复选框'启用Zombie Objects'

screenshot edit scheme

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