按下并在 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];
}
}
我有一个按钮 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];
}
}