【问题标题】:Append strings in UILabel?在 UILabel 中附加字符串?
【发布时间】:2012-05-18 07:39:29
【问题描述】:

我有 10 个 UIButtons 和单个 UILabel。所有这些 UIButtons 都有一些文本作为标题。现在我希望当我单击某些 UIButton 时,它的标题分配给 UILabel,当我们单击第二个 UIButton 时,它的标题也分配给 UIlabel 并附加它带有它已经拥有的 UILabel 文本。这是我的代码。

  - (void)aMethod:(id)sender {

    UIButton *button = (UIButton *)sender;
    NSString    *get = (NSString *)[[button titleLabel] text];
    NSLog(@"my uibutton test= %@",get);
    mainlabel.text=get;

 }     

请任何人指导我如何在单个 UILabel 中附加所有这些 UIButtons 标题。

【问题讨论】:

    标签: iphone objective-c ios nsstring uilabel


    【解决方案1】:

    您需要通过附加它们来创建一个新字符串:

    // ..
    NSString origText = mainlabel.text;
    mainlabel.text = [origText stringByAppendingString:get];
    

    【讨论】:

    • 如果你需要在...之间留出空格 mainlabel.text = [NSString stringWithFormat:@"%@ %@", mainlabel.text, get];
    • Thanx @Binyamin Sharet 亲爱的使用你的代码我做到了..Thanx 的帮助
    【解决方案2】:

    您需要使字符串可修改。尝试类似:

    NSMutableString * newLabel = [NSMutableString stringWithString:mainlabel.text];
    
    [newLabel appendString:@" "];
    [newlabel appendString:get];
    
    mainLabel.text = newLabel;
    

    或类似的东西。

    【讨论】:

    • 感谢@Dirk-Willem van Gulik 帮助我。
    【解决方案3】:

    NVM:Binyamin Sharet 的代码很完美

    这个怎么样?

    - (void)aMethod:(id)sender {
    
    UIButton *button = (UIButton *)sender;
    NSString    *get = [sender currentTitle];
    NSLog(@"my uibutton test= %@",get);
    mainlabel.text=get;
    
     }     
    

    但是一个非常简单的方法是 将 id 类型转换为 UIButton 所以

    - (void)aMethod:(UIButton *)sender {
    mainLabel.text = [sender currentTitle];
    }
    

    【讨论】:

    • 嗯,我只是在阅读代码,现在我阅读了他的实际问题,您的解决方案很完美
    【解决方案4】:

    试试这个:

     mainLabel.text = [mainLabel.text stringByAppendingFormat:@" %@",get];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-13
      • 2014-11-19
      • 2015-10-17
      • 1970-01-01
      相关资源
      最近更新 更多