2013-12-08 50 views
0

我有一个奇怪的警告,当我继续我的ViewControllers之一。下面是警告:iOS:奇怪的警告和奇怪的回来第二选择表视图

Action connections from <UIView: 0x792b2a0; frame = (0 0; 320 568); autoresize = LM+RM+TM+BM; layer = <CALayer: 0x79e1ad0>> are not supported. 

的另一个问题是,我使用的是第二的UITableView选择从列表中的下拉列表中值。在didSelectRowAtIndexPath我这样做:

- (void)tableView:(UITableView *)tableView 
didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    self.tergetTextField.text = self.items[indexPath.row]; 
    [self performSelector:@selector(returnToParent) withObject:nil afterDelay:0.5]; 

} 

- (void) returnToParent { 
    [self.navigationController popViewControllerAnimated:NO]; 
} 

当我从UITableView中选择一个值,我得到以下警告:

Unbalanced calls to begin/end appearance transitions for <HMXSelectViewController: 0x7bb0350> 

我看到这个警告,类似的问题,但给出的解决方案并没有奏效为了我。 “performSelector afterDelay”是解决方案之一。

而最后一个奇怪的问题是,当我第二次seque到UITableView它第二次返回后,我选择了一个项目不是第一次。

这里是我的代码:http://pastebin.com/TVn51ppD

而作为一个侧面的问题,你会选择3至5个项目之间的项目,就像一个下拉列表中的建议吗?

UPDATE:
我已经解决了Unbalanced calls,并与下面的回报第二选择上的UITableView问题:

- (IBAction)scaleEditingDidBegin:(id)sender { 
    selectionSource = 0; 
    [self.view endEditing:YES]; 
    [self performSegueWithIdentifier:@"select" sender:self]; 
} 

- (IBAction)statusEditingDidBegin:(id)sender { 
    selectionSource = 1; 
    [self.view endEditing:YES]; 
    [self performSegueWithIdentifier:@"select" sender:self]; 
} 

回答

0

原因Unbalanced calls to begin/end appearance transitions for*错误是,当用户触摸的UITextField,在scaleEditingDidBeginstatusEditingDidBegin功能在Editing Did End事件触发前转到其他UIView。要解决此问题,请在两个功能中添加[self.view endEditing:YES]

- (IBAction)scaleEditingDidBegin:(id)sender { 
    selectionSource = 0; 
    [self.view endEditing:YES]; 
    [self performSegueWithIdentifier:@"select" sender:self]; 
} 

- (IBAction)statusEditingDidBegin:(id)sender { 
    selectionSource = 1; 
    [self.view endEditing:YES]; 
    [self performSegueWithIdentifier:@"select" sender:self]; 
}