-2

我只是 iOS 的初学者。我[leftSwitch setOn:setting animated:YES];在描述开关的教程中看到了这个声明** **。

    UISwitch *leftSwitch;


    UISwitch *whichSwitch = (UISwitch *)sender;
    BOOL setting = whichSwitch.isOn;
   [leftSwitch setOn:setting animated:YES];

请解释我在这种情况下需要关键字animated。在此先感谢

4

4 回答 4

1

在 objC 中,参数不会像在 C 或 java 中那样位于方法名称之后,或者在 objC 中...,参数与方法名称交织在一起。

lalalaa:PARAM lalala:PARAM2 lalala:PARAM3

在每个 : 之后都有一个参数

如此动画:=方法名称的一部分

setOn:animated:
于 2012-11-15T10:18:15.427 回答
0

animated方法的一部分决定了该开关状态的变化在哪里是一个很好的平滑动画。尝试两者YESNO你会看到。

于 2012-11-15T10:14:28.090 回答
0

setOn:animated:将开关的状态设置为 On 或 Off,可选择为过渡设置动画。

  • (void)setOn:(BOOL)on animated:(BOOL)animated 参数 on YES 如果开关应该转到 On 位置;否,如果它应该转到关闭位置。如果开关已经在指定位置,则不会发生任何事情。

动画 YES 为开关的“翻转”设置动画;否则否。参见:http: //developer.apple.com/library/ios/#documentation/uikit/reference/UISwitch_Class/Reference/Reference.html

于 2012-11-15T10:15:03.723 回答
0

拖放UISwitchxib文件中。

.h文件中:

IBOutlet UISwitch *onoff;

.m文件中:

[onoff addTarget:self action:@selector(switchTapped:) forControlEvents:UIControlEventValueChanged];

// Switch
-(void) switchTapped: (id) sender {
    UISwitch *switchControl = (UISwitch*) sender;
    BOOL value = switchControl.isOn;
    if (value) {
        lbl4.text=@"ON";
    }else{
        lbl4.text=@"OFF";
    }
}
于 2013-04-29T12:22:24.470 回答