カスタムセルを持つテーブルビューを作成しました(サブクラス化しましたUITableViewCell
)。
その中でいくつか作成UIButtons
しています。.h ファイルでこれを宣言します。
@property (nonatomic, strong) UIButton *myButton;
そしてこれは.mファイルにあります:
myButton = [[UIButton alloc] initWithFrame:CGRectMake(-100.0, 285.0, 60.0, 30.0)];
myButton.titleLabel.font = [UIFont boldSystemFontOfSize:16.0];
myButton.backgroundColor = [UIColor clearColor];
[myButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[myButton setTitle:@"text" forState:UIControlStateNormal];
[myButton addTarget:self action:@selector(myButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
[self.contentView addSubview:myButton];
を使用してセルを右に移動するUIPanGestureRecognizer
と、が表示されます (負の X indexUIButton
にあることに注意してください)。見ることはできますが、クリックできません (ビューに表示されなくなったと思います)。
クリック可能にする方法について何か提案はありますか?
詳細:
セルの初期化で、私はやっています:
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)];
panGesture.delegate = self;
[self.contentView addGestureRecognizer:panGesture];
次に、ジェスチャーを実装しました。
-(void)handlePanGesture:(UIPanGestureRecognizer *)sender {
CGPoint translate = [sender translationInView:self.contentView];
CGRect currentFrame = self.contentView.frame;
switch ([sender state]) {
case UIGestureRecognizerStateChanged:
currentFrame.origin.x = translate.x;
self.contentView.frame = currentFrame;
break;
default:
break;
}
}
フレームが右に移動すると、ボタンが表示されます。でもクリックできない…