0

UIscrollビューに多くのUItextViewがあります。ユーザーがボタンを押すと、これらのUItextViewのいずれかをタップできるはずです。タッチしたテキストビューに応じて、その中のテキストが選択されます。UItextViewsの数は各ユーザーによって異なるため、整数の1、2、3のタグをユーザーに割り当てます。次に、タップジェスチャジェスチャを使用して、タッチされたビューのタグを検出します。

UITapGestureRecognizer *myLongPressRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(leftSwipe:)];
 //[myLongPressRecognizer setDirection:(UISwipeGestureRecognizerDirectionUp)];
[textname addGestureRecognizer:myLongPressRecognizer];


- (void)leftSwipe:(UITapGestureRecognizer *)recognizer {

id sender;
UITextView *txtChoosen = (UITextView*) sender;

for (UITextView* txt in textnameArray) {

    NSLog(@"%djjjjjjj, %d", txtChoosen.tag, txt.tag);

    if (txt.tag == txtChoosen.tag) {

        txt.layer.borderWidth = 5.0f;
        txt.layer.borderColor = [[UIColor whiteColor] CGColor];
    }else{

        txt.layer.borderWidth = 0.0f;
        txt.layer.borderColor = [[UIColor whiteColor] CGColor];
}}
...

私の問題は、txtChoosen.tagが常にゼロに等しいことです。どうしてこれなの?

4

1 に答える 1

0

私はついにタグを決定する方法を理解しました:

if (txt.tag ==  [(UIGestureRecognizer *)recognizer view].tag) {

...

基本的にこれはそれを決定するためのコードです:

[(UIGestureRecognizer *)recognizer view].tag
于 2013-01-23T16:46:05.637 に答える