【问题标题】:How can I call an IBAction in the viewDidLoad?如何在 viewDidLoad 中调用 IBAction?
【发布时间】:2013-10-18 19:24:47
【问题描述】:

我有一个简单的滑块应用程序。更改滑块时,新值将显示在 UILabel 中。效果很好!

当该视图被加载时,虽然标签是空白的。我希望sliderValue.text 等于默认滑块值。

这是我现在的代码(以及我之前的尝试):

-(IBAction)sliderValue:(UISlider *)sender {
    sliderLabel.text = [NSString stringWithFormat:@"%g", roundf(slider.value)];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    -(IBAction)sliderValue:(id)sender;    
}

有人可以帮帮我吗?

谢谢!

【问题讨论】:

    标签: objective-c xcode uilabel uislider viewdidload


    【解决方案1】:

    如果您不需要 sender 作为操作的 in 参数,也只需调用 [self sliderValue:nil];,您可以在为 iOS 开发时省略它们。

    - (IBAction)sliderValue {
    
    }
    

    更好(在我看来)是直接在viewDidLoad 中设置值,以防您稍后将内容添加到sliderValue 方法。这确实是两件不同的事情,一个应该处理滑块更改值的逻辑,而奇怪的只是设置默认值。

    sliderLabel.text = [NSString stringWithFormat:@"%g", roundf(slider.value)];
    

    【讨论】:

    • 我明白了,我没想到!代码中的小错误。您使用了 ;在代码的第一位;)
    【解决方案2】:

    在 viewDidLoad 中使用 [self sliderValue:nil];

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多