How can I call an IBAction in the viewDidLoad?

試著忘記壹切 提交于 2019-12-11 03:19:15

问题


I have a simple slider app. When the slider is changed, the new value is displayed in a UILabel. That works great!

When that view is loaded though the label is blank. I want the sliderValue.text to be equal to the default slider value.

Here is my code right now (along with my previous attempt):

-(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;    
}

Could someone please help me out?

Thanks!


回答1:


Just call [self sliderValue:nil]; also if you don't need sender as a in parameter to your actions you can omit them when developing for iOS.

- (IBAction)sliderValue {

}

Better yet (in my opinion) would be to set the value in viewDidLoad directly in case you add stuff later to sliderValue method. It's really two different thing one should handle logic for the slider changing value while the odder just sets the default value.

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



回答2:


Use [self sliderValue:nil]; in viewDidLoad



来源:https://stackoverflow.com/questions/19457566/how-can-i-call-an-ibaction-in-the-viewdidload

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!