我需要实现自定义 UISwitch,为此我使用 RCSwitch 类(感谢 Ray Wenderlich 和 Robert Chin)。
所以我在我的项目中添加了 RCSwitch 类,连接图形,它看起来很棒,但是!它效果不佳。看一下这个:
这段代码:
//@interface
@property (nonatomic, strong) RCSwitchOnOff *onSwitch;
//implementation
- (void)viewDidLoad
{
[super viewDidLoad];
self.onSwitch = [[RCSwitchOnOff alloc] initWithFrame:CGRectMake(self.view.frame.size.width/2 - 39.5, self.view.frame.size.height/2 - 150, 80, 35)];
[self.onSwitch addTarget:self action:@selector(switchSwitched:) forControlEvents:UIControlEventTouchUpInside];
// self.defaultSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(self.view.frame.size.width/2 - 39.5, self.view.frame.size.height/2 - 150, 80, 35)];
// [self.defaultSwitch addTarget:self action:@selector(switchSwitched:) forControlEvents:UIControlEventTouchUpInside];
.
.
.
}
- (void)switchSwitched:(id)sender
{
NSLog(@"switch touched!");
}
在 NSLog 中导致此问题
2013-03-15 09:56:54.575 Secret-Project[1190:c07] switch touched!
2013-03-15 09:56:54.576 Secret-Project[1190:c07] switch touched!
对于一个用户触摸方法 switchSwitched 触发两次!当我取消默认开关并评论 onSwitch 时,正常的 UISwitch 仅启动 switchSwitched 方法一次。
有没有搞错?这里有人有同样的问题吗?