現在、UIPanGestureRecognizerを使用して左右にスライドするUITableviewCellのサブクラスを使用するiPadアプリを開発していますが、右にスライドするだけで、左にスライドするだけです...これは私が使用しているコードです。
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self)
{
// Initialization code
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
pan.delegate = self;
[self addGestureRecognizer:pan];
}
return self;
}
これは私のhandlePan:メソッドです。
CGPoint translation = [gesture locationInView:self];
self.center = CGPointMake(self.center.x + translation.x,
self.center.y);
if (self.center.x > 700) {
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:self.tag],@"number",nil];
[[NSNotificationCenter defaultCenter] postNotificationName:@"right" object:nil userInfo:dic];
dic = nil;
}
if (self.center.x < 0){
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:self.tag],@"number",nil];
[[NSNotificationCenter defaultCenter] postNotificationName:@"left" object:nil userInfo:dic];
dic = nil;
NSLog(@"Left Called");
}
[gesture setTranslation:CGPointZero inView:self];
何を試しても、コンソールに「Left Called」と表示されないようです。つまり、セルが左にスライドします。私はこの問題に本当に苦労しており、助けていただければ幸いです。