由于未捕获的异常'CALayerInvalidGeometry'而终止应用,原因:'CALayer位置包含NaN

时间:2015-02-27 06:02:52

标签: ios uibutton

当我点击按钮时我得到了这个例外。我不知道我在哪里做错了有人帮助我。我的应用因为这个例外而被拒绝 我的代码:

 UILabel *rememberMeLabelObj = [[UILabel  alloc]initWithFrame:CGRectMake(xaxisForRememberMeLabel, yaxisForRememberMeLabel, widthForRememberMeLabel, heightForRememberMeLabel)];
rememberMeLabelObj.text = @"Remember me";
rememberMeLabelObj.font =[UIFont systemFontOfSize:14.0];

rememberMeLabelObj.textColor = [UIColor colorWithRed:0.816f green:0.592f  blue:0.157f alpha:1.00f];
[self.view addSubview:rememberMeLabelObj];

3 个答案:

答案 0 :(得分:2)

我解决了我的问题,实际上我没有给浮动值因为这个我得到了异常。我给了CGFloat并给出了像400,350这样的整数值,但是我需要给400.0f。所以我得到了这个问题。现在它被清除了

答案 1 :(得分:1)

你正在调用UILabel帧方法,并且可能以某种方式计算值,结果是NaN,这意味着"不是数字"并且,正如您正确建议的那样,它可能是o除零操作的结果。

但它可能出现很多其他原因:http://en.wikipedia.org/wiki/NaN

参考:kuba

答案 2 :(得分:0)

我的iOS应用程序在模拟器版本为8.x时遇到同样的问题,在版本9.x中没问题,在检查并删除以下代码后,问题解决了!

- (void)viewWillAppear:(BOOL)animated
 {
  [LoadTableView setContentOffset:CGPointMake(CGFLOAT_MAX, CGFLOAT_MAX)];

  [super viewWillAppear:YES];

 }


 - (void)viewDidAppear:(BOOL)animated
 {
   [LoadTableView reloadData];

   LoadTableView.hidden = 0;

   [super viewDidAppear:YES];


 }