ios – WKInterface按钮不会更改标题

前端之家收集整理的这篇文章主要介绍了ios – WKInterface按钮不会更改标题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在通知回来后试图更改按钮的标题,但它根本没有响应.我检查了它不是零并检查了我分配的文本,一切都很好.我使房产类型强大而不是弱,但没有成功.
- (void) setButtonTitleFromSelectedSearchResult:(NSNotification *)notif
{

    [self popController];

    self.sourceMapItem = [[notif userInfo] valueForKey:@"SelectedResult"];

    NSLog(@"The Selected Result is: %@",self.sourceMapItem.name);

    //Testing
    NSLog(@"%@",self.fromButton); // check it's not nil

    [self.fromButton setTitle:self.sourceMapItem.name];
}

解决方法

使用WatchKit,如果用户界面元素当前不可见,则无法更新.因此,如果您在“顶部”提供了另一个接口控制器,则在您解除所提供的控制器之前,您无法更新任何呈现控制器的界面元素.此时,您可以使用willActivate方法安全地更新呈现控制器.

SushiGrass传递积木的方法当然是一种有效的方法.然而,在我的测试中,我最终必须管理多个块,并且许多后续块反转了先前排队块已完成的内容(例如,首先将标签的文本更改为“foo”,然后“bar”,然后“foo” “再次.虽然这可行,但它不是最佳的.

我建议任何正在使用WatchKit应用程序的人花点时间考虑他们想要如何考虑屏幕外(即当前不可见)的界面元素. willActivate是你的朋友,如果你从控制器转移到控制器,那么想出一种管理该方法更新的方法是值得的.

为了它的价值,我在JBInterfaceController子类中封装了很多这样的逻辑,它为你处理了很多这样的事情.通过将其用作您自己的接口控制器的基类,您可以在添加的didUpdateInterface方法中更新元素.不幸的是,我还没有时间编写适当的文档,但是头文件和示例项目应该让你:https://github.com/mikeswanson/JBInterfaceController

原文链接:https://www.f2er.com/iOS/334929.html

猜你在找的iOS相关文章