当我转向我的一个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];
}
答案 0 :(得分:0)
Unbalanced calls to begin/end appearance transitions for*
错误的原因是,当用户触摸UITextField时,在scaleEditingDidBegin
或statusEditingDidBegin
函数中,在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];
}