我想在滑动UItextView时调用一个方法,并确定其标记。我正在使用此代码:

-(IBAction)donecomment:(id)sender{

UISwipeGestureRecognizer *myLongPressRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(holdpress:)];
[textname addGestureRecognizer:myLongPressRecognizer];

textname.editable = NO;
textname.userInteractionEnabled = YES;

CGRect frame = textname.frame;
frame.size.height = textname.contentSize.height;
textname.frame = frame;

heightInteger = heightInteger + textname.contentSize.height + 6;

[textnameArray addObject:textname];

addComment.hidden = NO;
doneComment.hidden = YES;
cancelComment.hidden = YES;
}

-(void)holdpress:(id)sender{

UITextView *txtChoosen = (UITextView*) sender;

for (UITextView* txt in textnameArray) {
    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];
}}


...我收到此错误:原因:'-[PhotoViewController holdpress]:无法识别的选择器发送到实例0x22c1a000'

我想我可以使用以下方法解决它:

- (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer


...但是使用htis意味着删除发件人。我能做什么?

最佳答案

该错误抱怨一个名为holdpress的方法。在发布的代码中,您有一个名为holdpress:的方法。注意区别-方法有一个冒号,错误方法没有。

同样,在您发布的代码中,您还设置了手势识别器以将选择器用于holdpress:。这完全符合您实际使用的方法。那是对的。

由于错误是关于holdpress而不是holdpress:的,因此您必须具有其他一些尝试使用holdpress选择器而不是holdpress:的代码。

是来自PhotoViewController的发布代码吗?

在您的代码中搜索对holdpress(不是holdpress:)的调用。

08-05 23:51