gpt4 book ai didi

iphone - 第二个 View Controller 中的 UIButton - Touch Up Inside 不起作用(Touch Down 确实如此)

转载 作者:行者123 更新时间:2023-12-01 19:25:00 24 4
gpt4 key购买 nike

我在 XCode 中创建了一个新项目,并使用新的 Storyboard 功能创建了两个不同的 View Controller 。

第一个 View Controller 附加到主文件( ViewController.h,Viewcontroller.m )。第二个 View Controller 附加到它自己的一组 .h/.m 文件( NewUserController.m/.h )

现在对于我在过去几个小时内无法找到解决方案的问题;

我在第二个 View Controller 上添加了一个按钮,并将该按钮附加到 IBAction ( verifyNumber )。当我附上 ' 内部修饰 ' 事件 IBAction 永远不会被触发。但是,当我附加 ' 着陆 ' 一切正常..

两个 View Controller 都选择了“启用用户交互”,除了按钮之外,第二个 View Controller 不包含任何其他元素。此外,我的手册 performSegueWithIdentifier 正在工作(从 view1 切换到 view2)。

谁能发现哪里出错了?

编码:

View Controller .m

- (void)firstStartup {

// Future use for getting userID

// Switch to loginview
[self performSegueWithIdentifier:@"segueLogin" sender:self];

}

#pragma mark - View lifecycle

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

// Fire firstStartup
[self firstStartup];

}

新用户 Controller .h
#import <UIKit/UIKit.h>

@interface NewUserController : UIViewController
@property (weak, nonatomic) IBOutlet UITextField *inputNumber;

- (IBAction)backgroundTap;
//- (IBAction)verifyNumber;

- (IBAction)verifyNumber:(id)sender;

@end

新用户 Controller .m
#import "NewUserController.h"

@implementation NewUserController
@synthesize inputNumber;


// Collect User data & Start Request
- (IBAction)verifyNumber:(id)sender; {

inputNumber.text = @"testing";

}

- (IBAction)backgroundTap {

[inputNumber resignFirstResponder];

}

更新

由于 NJones 的响应,我进行了更多测试并删除了我在第二个 View 中显示的手势识别器。删除此识别器后,UIButton 可与所有事件一起使用(Touched Up Inside)。

识别器是否以某种方式阻止任何“点击”事件覆盖对象(例如 UIButton)?

最佳答案

我有几个想法,

1)为什么你有:

    - (IBAction)backgroundTap;
//- (IBAction)verifyNumber;

- (IBAction)verifyNumber:(id)sender;
verifyNumber 之间有区别和 verifyNumber:(id)sender并且它们可以同时存在,并且都可以在 nib中连接。 .

2)您是否在 View 上使用任何 UIGestureRecoginzers?

3) 这个按钮是自定义按钮还是 UIButton 的子类?

4)(我真的不认为这将有助于解决您的问题,这只是一个好习惯,而且我已经在打字了:))使用 View 属性来检查是否调用了一个方法充其量是不确定的。尝试在 IBAction 中添加日志语句像这样的方法:
- (IBAction)verifyNumber:(id)sender; {
NSLog(@"verifyNumber:");
inputNumber.text = @"testing";
}

关于iphone - 第二个 View Controller 中的 UIButton - Touch Up Inside 不起作用(Touch Down 确实如此),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8197787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com