按下并在 ios 内松开时更改按钮图像

Change the button image when pressed and then released in ios

我有一个按钮 image.When 这个按钮被按下,图像必须是 changed.When 再次按下按钮,它应该变回原来的图像。 更改视图控制器时应维护此更改的图像。

向您的 UIView 添加一个按钮。

进入 故事板xib 或者你的按钮所在的地方 inspector window 并设置您的图像为选中和图像未选中。

在控制器中创建一个 IBAction 并将按钮连接到该动作。

-(IBAction) toggleUIButtonImage:(id)sender{
      if ([sender isSelected]) {
         [sender setImage:unselectedImage forState:UIControlStateNormal];
         [sender setSelected:NO];

         NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
         [defaults setValue:@"no" forKey:@"buttonSelected"];
         [defaults synchronize];
      } else {
         [sender setImage:selectedImage forState:UIControlStateSelected];
         [sender setSelected:YES];

         NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
         [defaults setValue:@"yes" forKey:@"buttonSelected"];
         [defaults synchronize];
      }
  } 

Link IBAction 你的按钮

然后为了知道它是否被选中,你需要在你的viewDidLoad方法中查询NSUserDefaults

- (void) querySelected {
    NSString *selected = [[NSUserDefaults standardUserDefaults] objectForKey:@"buttonSelected"];

    if ([selected isEqualToString: @"yes"]) {
        [sender setImage:selectedImage forState:UIControlStateSelected];
        [sender setSelected:YES];
    } else {
        [sender setImage:unselectedImage forState:UIControlStateNormal];
        [sender setSelected:NO];
    }
}