在iOS上以编程方式创建了一个按钮,但按下时没有任何 *** 作

在iOS上以编程方式创建了一个按钮,但按下时没有任何 *** 作,第1张

概述我创建了一个按钮,就像下面的代码一样,但它不会在日志中响应(应该显示“ha”).最奇怪的部分是我能够在集合视图中使用这个确切的代码,但通常不在viewcontroller上.按下按钮“myAction”我做错了什么? -(void)viewDidLoad { UIButton *buttonz = [UIButton buttonWithType:UIButtonTypeCustom]; 我创建了一个按钮,就像下面的代码一样,但它不会在日志中响应(应该显示“ha”).最奇怪的部分是我能够在集合视图中使用这个确切的代码,但通常不在vIEwcontroller上.按下按钮“myAction”我做错了什么?

-(voID)vIEwDIDLoad {    UIbutton *buttonz = [UIbutton buttonWithType:UIbuttonTypeCustom];        buttonz.frame = CGRectMake(160,160,30);        [buttonz setTitle:@"Charge" forState:UIControlStatenormal];        [buttonz addTarget:self action:@selector(myAction:) forControlEvents:UIControlEventtouchUpInsIDe];        [buttonz setEnabled:YES];        [buttonz setBackgroundcolor:[UIcolor bluecolor]];        //add the button to the vIEw        [backImageVIEw addSubvIEw:buttonz];}-(voID)myAction:(ID)sender {NSLog(@"ha");    [self resignFirstResponder];    NSLog(@"ha");}
解决方法 1)

你不需要在按钮上“resignFirstResponder”(似乎大多数时候我看到“resignFirstResponder”在文本字段或文本视图中).

2)

将控件事件从UIControlEventtouchUpInsIDe更改为UIControlEventtouchDown

3)

父UIImageVIEw可能没有将“userInteractionEnabled”设置为true,这意味着事件不会被传播(或发送到)子视图.

要使这些事件可用于子视图,请通过以下方式更改父视图的userInteractionEnabled属性:

backImageVIEw.userInteractionEnabled = YES;

在添加该子视图之前.

总结

以上是内存溢出为你收集整理的在iOS上以编程方式创建了一个按钮,但按下时没有任何 *** 作全部内容,希望文章能够帮你解决在iOS上以编程方式创建了一个按钮,但按下时没有任何 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1056768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存