0

我已经为我的 UIButton 分配了一个平移手势识别器,但我似乎无法获得按钮的 titleLabel。我试过这个:

-(void)move:(id)sender{
[(UITapGestureRecognizer*)sender view].titleLabel.text

UIButton *resultebutton= (UIButton*)sender;

但我似乎不明白。应用程序因这两种情况而崩溃,第一个给出错误

4

1 回答 1

2

您应该在处理手势识别器的方法中检索此信息。这样,您可以访问手势视图,将其转换为 UIButton,然后从按钮的标题标签中提取文本。

- (void)move:(id)sender
{
    UIPanGestureRecognizer *gesture = (UIPanGestureRecognizer *)sender;

    UIButton *button = (UIButton *)gesture.view;

    NSString *title = button.titleLabel.text;
}

您尝试过的代码的问题是,在第一种情况下,代码甚至无法编译,因为无论如何您都没有将视图转换为 UIButton,并且 UIView 没有声明名为 titleLabel 的属性。第二个是将 UIPanGestureRecognizer 强制转换为 UIButton,这无法正常工作。

于 2013-08-29T20:16:43.073 回答