【问题标题】:Programmatically changing button label in Monotouch以编程方式更改 Monotouch 中的按钮标签
【发布时间】:2011-08-03 02:34:22
【问题描述】:

我用一个按钮制作了一个 .xib,并用一个“btnActies”的出口引用它

当我在后端 C# 代码中(在任何给定时间)执行以下操作时

btnActies.TitleLabel.Text = "这是一个 新标签!”;

当我构建并运行应用程序时,按钮上的标签变为“这是一个新标签”, 但是,如果我触摸按钮,标签将恢复为我在 .xib 文件中设置的“默认”文本。

如何更改 Monotouch UIButton 上的标签并防止这种情况发生?

【问题讨论】:

    标签: c# iphone mono xamarin.ios xib


    【解决方案1】:

    当您想在 UIButton 上设置一些文本时,您不能通过更改其 TextLabel 属性的文本来实现。您可以通过调用它的 SetTitle 方法来实现,将在运行时为其设置标题的按钮状态作为第二个参数传递。 Chetan Bhalara 的回答是正确的,这里是 C#/MonoTouch 等价物:

    btnActies.SetTitle ("title", UIControlState.Normal);
    

    他们现在这样做的方式不起作用,因为标签的文本会在需要时在内部更改为 Interface Builder 中设置的标题(如果您已设置),在这种情况下,当您点击按钮时。

    【讨论】:

      【解决方案2】:

      //改进的格式

      你好

      您可以使用此代码更改 iPhone 的按钮标签。

      [btnActies.setTitle:@"Title value1" forState:UIButtonStateNormal];
      
      [btnActies.setTitle:@"Title value2" forState:UIButtonStateSelected];
      
      [btnActies.setTitle:@"Title value3" forState:UIButtonStateHighlighted];
      

      【讨论】:

      • 我正在尝试从 C# (MonoTouch) 设置标签,这些看起来像 Quartz 定义。我正在尝试从 C# 中找到一种方法
      • 意思是你想从C#更改iPhone的按钮标签?
      • 正确。按钮标签上有数字,我通过 C# 中的 web 服务获取。所以我想从 C# 更新按钮标签。
      • 好的,那么你需要从web服务解析数据,然后你可以将它作为标签传递。
      • 这就是我所做的。 (见最初的帖子)但是一旦我与按钮交互,标签就会被重置。
      猜你喜欢
      • 1970-01-01
      • 2015-10-03
      • 2011-08-23
      • 2011-05-14
      • 1970-01-01
      • 2014-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多