当我尝试编辑文本时,searchBar.rx.textDidBeginEditing 不起作用

Posted

技术标签:

【中文标题】当我尝试编辑文本时,searchBar.rx.textDidBeginEditing 不起作用【英文标题】:searchBar.rx.textDidBeginEditing does not working when im trying to edit text 【发布时间】:2018-11-17 15:13:10 【问题描述】:
    searchBar.rx.textDidBeginEditing
        .subscribe  [unowned self] in
            print("im begining diting")
            self.searchBar.setShowsCancelButton(true, animated: true)
        
        .disposed(by: disposeBag)

它不起作用,也许我有错误的方法?但我有方法

    searchBar.rx.text
        .asObservable()
        .bind(to: directoryViewModel.searchTextObservable)
        .disposed(by: disposeBag)

正常工作

【问题讨论】:

您没有显示足够的代码来重现问题。如果我将这两个代码块放在 viewDidLoad 中,它们将完全按预期工作。 我应该展示什么?导致第二个块工作正常,但第一个不想调用。 您是否从控制台收到任何运行时警告?您是否为 searchBar 分配了一个代表?您展示了一个显示问题的最小 可编译 示例。编写一个小项目,尽可能少地编写仍然存在您所遇到问题的代码。 我没有收到任何运行时警告,也没有我没有分配给委托。我写了一个小项目但同样的问题,可能我只是不知道如何使用这个 我很想看看这个项目。也许我可以弄清楚发生了什么。 【参考方案1】:

我忘了穿下一个:

searchBar.rx.textDidBeginEditing
.subscribe(onNext:  [unowned self] in

    self.searchBar.setShowsCancelButton(true, animated: true)

).disposed(by: disposeBag)

【讨论】:

这不是它失败的原因。还有其他问题。 为什么不呢?它现在工作正常,只需设置 asObservable() 和 subscribe(onNext:) 因为如果asObservable() 是必要的,那么没有它,代码甚至不会编译

以上是关于当我尝试编辑文本时,searchBar.rx.textDidBeginEditing 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试从终端更新分支时,会出现一个新窗口。如何进行?

编辑文本字段时偏移滚动视图?

UITextField 在编辑时剪切文本

在 PHP 和 Mysql 中同时更新图像和文本

尝试使用联系人选择器将联系人插入编辑文本

带有不可编辑单词(标签)的文本框