我已经为我的 UIButton 分配了一个平移手势识别器,但我似乎无法获得按钮的 titleLabel。我试过这个:
-(void)move:(id)sender{
[(UITapGestureRecognizer*)sender view].titleLabel.text
和
UIButton *resultebutton= (UIButton*)sender;
但我似乎不明白。应用程序因这两种情况而崩溃,第一个给出错误
我已经为我的 UIButton 分配了一个平移手势识别器,但我似乎无法获得按钮的 titleLabel。我试过这个:
-(void)move:(id)sender{
[(UITapGestureRecognizer*)sender view].titleLabel.text
和
UIButton *resultebutton= (UIButton*)sender;
但我似乎不明白。应用程序因这两种情况而崩溃,第一个给出错误
您应该在处理手势识别器的方法中检索此信息。这样,您可以访问手势视图,将其转换为 UIButton,然后从按钮的标题标签中提取文本。
- (void)move:(id)sender
{
UIPanGestureRecognizer *gesture = (UIPanGestureRecognizer *)sender;
UIButton *button = (UIButton *)gesture.view;
NSString *title = button.titleLabel.text;
}
您尝试过的代码的问题是,在第一种情况下,代码甚至无法编译,因为无论如何您都没有将视图转换为 UIButton,并且 UIView 没有声明名为 titleLabel 的属性。第二个是将 UIPanGestureRecognizer 强制转换为 UIButton,这无法正常工作。