2013-12-08 87 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]; 
}