我在检查和未检查上尝试了很多,但我没有得到我想要的东西。我为此编写了程序,但它无法正常工作。当我触摸行时,复选标记不会出现,如果我被按下2它的工作时间,请解决我的问题
在索引的选择行中我将我的表格图像和复选标记图像联合起来但是它没有出现
if ((cell.m_checkImageView.image =[UIImage imageNamed:@"Selected.png"]))
{
cell.m_checkImageView.image = [UIImage imageNamed:@"Unselected.png"];
}
else
{
cell.m_checkImageView.image = [UIImage imageNamed:@"selected.png"];
NSLog(@"string is %@",string);
}
// cell.m_checkImageView.image = [UIImage imageNamed:@"Unselected.png"];
}
答案 0 :(得分:0)
我很高兴在这里发布我的答案。可能会迟到。但我相信它会对某人有所帮助。
您需要稍微更改一下代码。 首先设置子视图的accessibilityIdentifier(就像你设置图像一样,设置辅助功能标识符。它是一个字符串,所以你可以设置它与你的图像名称相同)。
每次设置图像时,也要设置辅助功能标识符。 下次检查可访问性标识符而不是直接检查图像。
我在这里发布示例代码。
[checkBoxButton setBackgroundImage:[UIImage imageNamed:@"check_box.png"] forState:UIControlStateNormal];
[checkBoxButton setAccessibilityIdentifier:@"check_box.png"];
在检查时,请参阅下面的代码
if([checkBoxButton.accessibilityIdentifier isEqualToString:@"check_box.png"])
{
if (chatImageView.image == nil) {
[[[UIAlertView alloc] initWithTitle:@"No Image" message:@"Please select an image first" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] show];
return;
}
[checkBoxButton setBackgroundImage:[UIImage imageNamed:@"check_box_selected.png"] forState:UIControlStateNormal];
[checkBoxButton setAccessibilityIdentifier:@"check_box_selected.png"];
NSData *imageData = UIImageJPEGRepresentation(chatImageView.image,1);
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
if (profileImageSelected == NO) {
[userDefault setObject:@"YES" forKey:@"ProfileChanged"];
[userDefault synchronize];
[self makeProfileImage:imageData isStatus:@"1"];
profileImageSelected = YES;
}
else{
[userDefault setObject:@"NO" forKey:@"ProfileChanged"];
[self makeProfileImage:imageData isStatus:@"0"];
profileImageSelected = NO;
[ userDefault synchronize];
}
}
else{
[checkBoxButton setBackgroundImage:[UIImage imageNamed:@"check_box.png"] forState:UIControlStateNormal];
[checkBoxButton setAccessibilityIdentifier:@"check_box.png"];
[profileImageView setImage:nil];
}
注意:我的示例代码只是为了说明它是如何工作的。 希望我能提供帮助。