2012-07-02 30 views
1

我不确定这是否是一个错误。MonoTouch.Dialog:在搜索上启用ScopeButton将删除搜索事件

在MonoTouch.Dialog使ScopeButton及导线上指数涨跌事件:

 UISearchBar sb = TableView.TableHeaderView as UISearchBar; 
     sb.ScopeButtonTitles = new string[] { "Full Text".t(), "Titles".t() }; 
     sb.ShowsScopeBar = true; 
     sb.SizeToFit(); 
     sb.SelectedScopeButtonIndexChanged += (sender, e) => { 
      CreateRoot(sb.Text); 
     }; 

然后在乘坐搜索功能:

public override void FinishSearch() 
    { 
     //do nothing, leave the UI 
    } 

    public override void OnSearchTextChanged(string text) 
    { 
     CreateRoot(text); 
    } 

    public override void SearchButtonClicked(string text) 
    { 
     //Do nothing, leave the UI 
    } 

的结果是OnSearchTextChanged永远不会触发。

如果你删除了下面的行,它会触发并且工作得很好。

//Remove to re-enable SearchButtonClicked 
sb.SelectedScopeButtonIndexChanged += (sender, e) => { 
CreateRoot(sb.Text); 
}; 

注意:如果你通过子视图访问搜索栏的UISegment控制,它工作正常,这样

foreach (UIView v in sb.Subviews) 
    { 
     var seg = v as UISegmentedControl; 
     if(seg!=null) 
     { 
      CreateRoot("Some text"); 
     }; 
     break; 
    } 
+0

我刚注意到完全一样的东西。我的搜索把我带到这里:) – Kevin

+0

获取最新的MTD,它在那里修复 –

回答

0

这是固定在MOnotouch.dialog的最新构建