繁体   English   中英

UIButton不活跃

[英]UIButton isn't active

我开始用Aaron Hillegass的书研究iOS编程,我发现有些样本不起作用。 也许它们不起作用,因为有一个新版本的iOS和Xcode。 你能解释一下为什么这段代码无效吗? 正在创建按钮; 但是,它没有收到印刷机。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
     self.window.rootViewController = [[UIViewController alloc] init];
     button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
     [button setFrame:CGRectMake(10,50,100,10)];
     [button setTitle:@"OK" forState:UIControlStateNormal];
     self.window.backgroundColor = [UIColor whiteColor];
     [self.window addSubview:button];
     [self.window makeKeyAndVisible];

     return YES;
}

关于这类问题的热门建议是补充一下

    button.userInteractionEnabled = YES;

但它没有帮助。

对不起,如果我的问题很简单,但我花了几个小时在这里和developer.apple.com上找到答案。

出于某种原因,按钮顶部有一个视图,阻止按钮接收动作(按下)。 您所要做的就是添加:

[self.window bringSubviewToFront:button];

这行代码会将您的按钮放在视图堆栈的顶部。 干杯

尝试添加这些行

[button addTarget:self action:@selector(hello:) forControlEvents:UIControlEventTouchUpInside];

这是一个在点击按钮时调用的方法

- (void) hello:(id) sender
{


   NSLog(@"helloooo");
}

首先你有10的高度,这是非常小的。 也许你没有打它。

您可以在AppDelegate中执行此操作,但通常需要使用ViewController 如果您是iOS开发的新手,您当然不希望在AppDelegate中拥有任何此类开发。 我建议在ViewController中完成所有这些操作,因为它覆盖在UIWindow顶部。

此外,你必须添加@ rahul-patel甚至测试它是否启用。

更新:我完全同意其他答案。 所有这一切都必须/应该完成。 添加@ rahul-patel和@matthew-s的内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM