Raj*_*Raj 5 runtime ios typescript nativescript-angular
本机脚本版本5.1.1
Xcode 10及更高版本,Mojave OS
SearchBar加载的功能
//Delegate Method Call
let delegate = MallSearchDelegate.initWithOriginalDelegate((<any>this.searchbar)._delegate);
(<any>this.searchbar)._delegate = delegate;
Run Code Online (Sandbox Code Playgroud)
代表班
export class MallSearchDelegate extends NSObject{
public static ObjCProtocols = [UISearchBarDelegate];
private _originalDelegate:UISearchBarDelegate;
public static initWithOriginalDelegate(originalDelegate: UISearchBarDelegate):MallSearchDelegate{
let delegate = <MallSearchDelegate>MallSearchDelegate.new();
delegate._originalDelegate = originalDelegate;
console.log("Initialized SearchBar");
return delegate;
}
public searchBarTextDidEndEditing(searchBar: UISearchBar):void{
console.log("endSearch");
if(((<any>this._originalDelegate)._owner)!=undefined){
const owner = (<WeakRef<SearchBar>>(<any>this._originalDelegate)._owner).get();
if (owner) {
owner.notify({
object: owner,
eventName: "endSearch",
focusable:false
});
}
}
}
public searchBarTextDidBeginEditing(searchBar: UISearchBar):void{
console.log("beginSearch");
if(((<any>this._originalDelegate)._owner)!=undefined){
const owner = (<WeakRef<SearchBar>>(<any>this._originalDelegate)._owner).get();
if (owner) {
owner.notify({
object: owner,
eventName: "beginSearch",
focusable:true
});
}
}
}
public searchBarSearchButtonClicked(searchBar: UISearchBar) {
console.log("onSubmit");
searchBar.resignFirstResponder();
if(((<any>this._originalDelegate)._owner)!=undefined){
const owner = (<WeakRef<SearchBar>>(<any>this._originalDelegate)._owner).get();
if (owner) {
owner.notify({
object: owner,
eventName: "submit"
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
当用户单击应用程序崩溃的搜索栏时,导航到另一个页面,然后返回该页面。
原因回到委托方法页面,然后单击搜索栏,返回错误所有者未定义,这就是为什么我添加条件检查未定义的原因。
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |