iOS:桌面视图上的第二个选择奇怪的警告和奇怪的回复

时间:2013-12-08 22:21:30

标签: ios iphone uitableview

当我转向我的一个ViewControllers时,我发出了一个奇怪的警告。这是警告:

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”是建议的解决方案之一。

最后一个奇怪的问题是当我第二次使用UITableView时,它会在第二次选择不首先出现的项目后返回。

以下是我的代码:http://pastebin.com/TVn51ppD

作为一个附带问题,您有什么建议选择3到5项之间的项目,比如下拉列表?

更新
我已经解决了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];
}

1 个答案:

答案 0 :(得分: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];
}