編集スタイルでtableviewcellのときに削除ボタンの位置を変更するには、次のコードを使用します
- (void)didTransitionToState:(UITableViewCellStateMask)state
{
[super didTransitionToState:state];
if(state == UITableViewCellStateShowingDeleteConfirmationMask)
{
for (UIView *v in [self subviews])
{
if([NSStringFromClass([v class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"])
{
NSLog(@"find");
CGRect f = v.frame;
deleteView = v;
NSLog(@"delete view %@",[deleteView description]);
v.backgroundColor = [UIColor grayColor];
v.frame = CGRectMake(200, 10, f.size.width, f.size.height);
UIControl *vs = [[v subviews]objectAtIndex:0];
CGRect fs = vs.frame;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:1];
fs.origin.x -=20;
vs.frame = fs;
[UIView commitAnimations];
}
}
}
}
この方法を使用して、削除ボタンの位置を変更できます。しかし、削除ボタンが表示されるたびに、テーブルビューセルの右側から移動し、animation
最終的に指定した位置に配置されます.....表示される前にボタンフレームを設定したいだけですが、今はわかりません。私の英語は下手です...みんなありがとう..よろしくお願いします