/ / चयनित और अचयनित होने पर बटन छवि सेट करना - ios, uibutton

चयनित और अचयनित होने पर बटन छवि सेट करना - ios, uibutton

मैं अपने IBA में अलग-अलग छवियों को टॉगल करने के लिए बटन छवि सेट करने का प्रयास कर रहा हूं:

if ([sender isSelected]) {
//1
UIImage *unselectedImage = [[UIImage alloc]initWithContentsOfFile:@"icon_checkbox_up"];
[sender setImage:unselectedImage forState:UIControlStateSelected];
[sender setSelected:NO];
}
else {
//2
UIImage *unselectedImage = [[UIImage alloc]initWithContentsOfFile:@"icon_checkbox_down"];
[sender setImage:unselectedImage forState:UIControlStateNormal];
[sender setSelected:YES];
}

जब मैं बटन पर क्लिक करता हूं, तो छवि बदल जाती हैतदनुसार (टिप्पणी 2 के तहत), फिर से बटन दबाने के बाद, छवि बस गायब हो जाती है। मुझे यकीन नहीं है कि ऐसा क्यों है। मैंने "UIControlStateSelected और UIControlStateNormal दोनों की कोशिश की। क्या मैं कुछ भूल रहा हूँ?

उत्तर:

जवाब के लिए 2 № 1

यदि आपका फ़ाइल नाम isn "t गलत है, तो आप इस तरह से कोशिश कर सकते हैं। आशा है कि यह मदद करता है !!

[buttn addTarget:self action:@selector(Selected) forControlEvents:UIControlEventTouchDown];
[buttn addTarget:self action:@selector(Unselected) forControlEvents:UIControlEventTouchUpInside];
[buttn addTarget:self action:@selector(Unselected) forControlEvents:UIControlEventTouchUpOutside];

-(void)Selected
{
UIImage *unselectedImage = [[UIImage alloc]initWithContentsOfFile:@"icon_checkbox_up"];
[buttn setImage:unselectedImage forState:UIControlStateSelected];
[buttn setSelected:NO];
}

-(void)Unselected
{
UIImage *unselectedImage = [[UIImage alloc]initWithContentsOfFile:@"icon_checkbox_down"];
[buttn setImage:unselectedImage forState:UIControlStateNormal];
[buttn setSelected:YES];
}

जवाब के लिए 0 № 2

कोड को बदल दिया गया:

if ([sender isSelected]) {
[sender setSelected:NO];
}
else {
[sender setSelected:YES];
}

और प्रत्येक UIControlState के लिए XIB फ़ाइलों में चित्र सेट करें।