0
@interface UICustomSwitch : UISwitch
{
}
-(void)setLeftLabelText:(NSString *)labelText;
-(void)setRightLabelText:(NSString *)labelText;
@end
@implementation UICustomSwitch
-(UIView *)slider
{
return [[self subviews ] lastObject];
}
-(UIView *)textHolder
{
return [[[self slider] subviews]objectAtIndex:2];
}
-(UILabel *)leftLabel
{
return [[[self textHolder] subviews]objectAtIndex:0];
}
-(UILabel *)rightLabel
{
return [[[self textHolder] subviews]objectAtIndex:1];
}
-(void)setLeftLabelText:(NSString *)labelText;
{
[[self leftLabel] setText:labelText];
}
-(void)setRightLabelText:(NSString *)labelText
{
[[self rightLabel]setText:labelText];
}
@end
switchView=[[[UICustomSwitch alloc]initWithFrame:CGRectMake(200,5,90,30)]autorelease];
[switchView setLeftLabelText:@"F"];
[switchView setRightLabelText:@"M"];
[switchView addTarget:self action:@selector(genderAction:) forControlEvents:UIControlEventValueChanged];
-(void)genderAction:(id)sender
{
if([Object.gender isEqualToString:@"F"])
{
[email protected]"M";
}
else
{
[email protected]"F";
}
}
세부 정보를 개체에 추가하는 데는 문제가 없습니다. 나는 'M'의 경우 남성을, 'F'의 경우 여성을 얻고 있습니다. 나는 M과 F 사이를 전환하는 값을 가진 하나의 객체를 가진다. 그러나 UI에서는 스위치의 파란색 색상이 표시되지 않습니다. 개체의 값은 올바르지 만 스위치의 ON 상태 (파란색)는 표시되지 않습니다.편집 기능에서 UICustomSwitch를 처리하는 방법은 무엇입니까?