buttonによるtableViewの階層構造
1504 ワード
1.方法一:
2.取得レベルのメソッドを使用します.このメソッドは使用を推奨しません.多くの判断を追加する必要があります.
しかし、この方法は7の本体で問題が発生する場合があり、第1の方法では本体が安定して動作しない場合があります.
NSSet *touches =[event allTouches];
UITouch *touch =[touches anyObject];
CGPoint currentTouchPosition = [touch locationInView:_mainTableView];
NSIndexPath *indexPath= [_mainTableView indexPathForRowAtPoint:currentTouchPosition];
if (indexPath!= nil)
{
DXSiteImmdeiateOrderTableViewCell *cell = [_mainTableView cellForRowAtIndexPath:indexPath];
NSInteger integer = [cell.subNumberLabel.text integerValue];
NSInteger integerNumber = integer+1;
cell.subNumberLabel.text = [NSString stringWithFormat:@"%ld",integerNumber];
}
2.取得レベルのメソッドを使用します.このメソッドは使用を推奨しません.多くの判断を追加する必要があります.
DXSiteImmdeiateOrderTableViewCell *cell = (DXSiteImmdeiateOrderTableViewCell *)sender.superview.superview;
// 6 superView 7 3 superView 8 2 superView
NSIndexPath *indexPath = [_mainTableView indexPathForCell:cell];
if (!indexPath||indexPath == nil) {
cell = (DXSiteImmdeiateOrderTableViewCell *)sender.superview.superview.superview.superview;
indexPath = [_mainTableView indexPathForCell:cell];
if (!indexPath||indexPath == nil) {
cell = (DXSiteImmdeiateOrderTableViewCell *)sender.superview;
indexPath = [_mainTableView indexPathForCell:cell];
}
}
NSInteger integer = [cell.subNumberLabel.text integerValue];
NSInteger integerNumber = integer+1;
cell.subNumberLabel.text = [NSString stringWithFormat:@"%ld",integerNumber];
しかし、この方法は7の本体で問題が発生する場合があり、第1の方法では本体が安定して動作しない場合があります.