我需要将复选框控件添加到我的表单。我知道iOS SDK中没有此类控件。我该怎么办?
最佳答案
这已经快把我逼疯了太多,我发现了一个不同的解决方案,对我来说,不得不使用图片避免效果很好。
'touchesBegan'函数检查您是否触摸了'fullyPaid'标签对象内的某个地方,如果是,则调用'togglePaidStatus'函数。
'togglePaidStatus'函数设置两个字符串,它们的unicode字符分别代表一个空框(\u2610)和一个选中框(\u2611)。然后,它会比较“fullyPaid”对象中当前的内容,并将其与其他字符串进行切换。
您可能要在viewDidLoad函数中调用togglePaidStatus函数,以将其最初设置为空字符串。
显然,如果未启用标签,则可以添加额外的检查以防止用户切换复选框,但这未在下面显示。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
if (CGRectContainsPoint([fullyPaid frame], [touch locationInView:self.view]))
{
[self togglePaidStatus];
}
}
-(void) togglePaidStatus
{
NSString *untickedBoxStr = [[NSString alloc] initWithString:@"\u2610"];
NSString *tickedBoxStr = [[NSString alloc] initWithString:@"\u2611"];
if ([fullyPaid.text isEqualToString:tickedBoxStr])
{
fullyPaid.text = untickedBoxStr;
}
else
{
fullyPaid.text = tickedBoxStr;
}
[tickedBoxStr release];
[untickedBoxStr release];
}