ユーザーがテーブルビューのセルをスワイプすると、複数の編集ボタンが表示されるようになります(デフォルトは削除ボタンです)。tableView:tableView editingStyleForRowAtIndexPath:
カスタムボタンをメソッドに入れることは可能ですか?
質問する
382 次
2 に答える
0
iOS 8 メール アプリのようなさまざまなトランジションと展開可能なボタンをサポートする、スワップ可能なボタンを実装する新しいライブラリを作成しました。
https://github.com/MortimerGoro/MGSwipeTableCell
このライブラリは、UITableViewCell を作成するさまざまな方法すべてと互換性があり、iOS 5、iOS 6、iOS 7、および iOS 8 でテストされています。
于 2014-08-10T21:10:37.397 に答える
0
Gesture Recognizer をクラスに追加し、そのセレクターで以下を試してください。
-(void)cellDidSwipeLeft:(UIGestureRecognizer *)_gestureRecognizer
{
if(_gestureRecognizer.state == UIGestureRecognizerStateEnded)
{
CGPoint swipeLocation = [_gestureRecognizer locationInView:self.tableView];
NSIndexPath *swipedIndexPath = [self.tableView indexPathForRowAtPoint:swipeLocation];
UITableViewCell* swipedCell = (UITableViewCell *)[self.tableView cellForRowAtIndexPath:swipedIndexPath];
YourCustomBtn *Btn = (YourCustomBtn *)[swipedCell viewWithTag:999];
[self performAnimationOnObject:Btn forPoint:swipeLocation];
}
}
-(void)performAnimationOnObject:(id)view forPoint:(CGPoint)point
{
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
animation.delegate = self;
animation.fromValue = [NSValue valueWithCGPoint:CGPointMake(btn.superview.frame.size.width, btn.center.y)];
animation.toValue = [NSValue
valueWithCGPoint:CGPointMake(mainCleanFrame.origin.x, btn.center.y)];
animation.fillMode = kCAFillModeForwards;
btn.center = CGPointMake(btn.frame.origin.x, btn.center.y);
}
于 2012-12-21T11:11:37.360 に答える