【问题标题】:ibaction to switch text of two labelsibaction 切换两个标签的文本
【发布时间】:2014-07-16 03:17:06
【问题描述】:

我有两个标签:oneLabel 和 twoLabel。假设 oneLabel 显示“1”,而 twoLabel 显示“2”。我正在尝试创建一个按钮,按下该按钮将在标签之间切换文本。我正在尝试:

- (IBAction)switchButton:(id)sender {
    self.oneLabel.text = self.twoLabel.text;
    self.twoLabel.text = self.oneLabel.text;
}

代码将 twoLabel 文本切换为 oneLabel,但不会将 oneLabel 文本切换为 twoLabel。我错过了什么?

【问题讨论】:

    标签: ios button text label


    【解决方案1】:

    我认为那是因为将 twoLabel 的文本复制到 oneLabel 之后; oneLable 的文本有 twoLabel 的文本,当您尝试将文本从 1 复制到 2 时,一个有 2 的内容,并且该内容仅被复制到 2,因此在 twoLable 中看不到任何更改。使用断点并检查。尝试

    NSString *temp = self.oneLable.text;
    self.oneLable.text= self.twoLable.text;
    self.twoLable.text= temp;
    

    【讨论】:

    • 最后一行不应该包含额外的自我,应该像 - self.twoLable.text= temp;
    【解决方案2】:

    设置 2 个临时字符串> NSString *myText1Str, *myText2Str;

      - (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder]; //to hide the keyboard
    [self setString]; //calling the method when u hit enter or return
    return YES;
    

    }

    -(void)setString{ //this method sets the current string values from the textfield
       myText1Str = self.oneLabel.text;
       myText1Str = self.twoLabel.text;
    }
    
    
    -(IBAction)switchButton :(id)sender{ //swaps the texts
    self.oneLabel.text = myText2Str;
    self.oneLabel.text = myText1Str;
    
     }
    

    【讨论】:

      【解决方案3】:

      试试这个

      -(IBAction)btnClicked:(id)sender
      {
           NSString *str=lbl1.text;
           NSString *str1=lbl2.text;
      
           lbl1.text=str1;
           lbl2.text=str;
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-26
        相关资源
        最近更新 更多