按钮在 XIB 文件中不起作用

Posted

技术标签:

【中文标题】按钮在 XIB 文件中不起作用【英文标题】:Buttons not working in XIB file 【发布时间】:2011-03-10 00:27:46 【问题描述】:

嘿,我已经在 AppDelegate 文件的主窗口中加载了一个 uiviewcontroller 的视图。如果我通过加载一个 nib 名称(并动态创建 UIViewController)来做到这一点,则 xib 文件中的按钮会正确触发。如果我这样做,按钮将处于非活动状态。

很高兴提供更多信息,只是不确定要提供哪些信息。

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

    launchScreen = [[LaunchScreen alloc] initWithNibName:nil bundle:nil];
    [launchScreen.view setUserInteractionEnabled:YES];
    [window addSubview:[launchScreen view]];
    [window makeKeyAndVisible];
    return YES;

【问题讨论】:

“不活跃”是什么意思?您是否以编程方式在LaunchScreen 中创建了按钮(因为否则无法填充视图,因为您没有在代码中使用 Nib 文件)? 不,这些按钮通过 Interface Builder 拖放到视图中,然后绑定到 LaunchScreen 类中的函数。如果不活动,当您(在模拟器中)单击按钮时,它们不会突出显示或注册其功能。 我明白了。我忘记了 loadView 逻辑搜索与视图同名的 Nib 文件。这很奇怪,因为即使没有指定目标-动作对,按钮也应该在点击时突出显示,除非用户界面被禁用。介意提供一些关于您的 Nib 文件的信息吗? 实际上我所做的只是创建一个新的 UIViewController 子类(从 xcode 的“新”菜单中),将两个按钮拖到视图区域,然后将 touchinsideup(?) 事件拖到 IBActions 中该 xib 的 m 文件。那里绝对没有什么花哨的东西? 【参考方案1】:

好的,我似乎找到了罪魁祸首,主 xib 文件中有一个 ViewController 被覆盖在按钮之上,阻止它们被使用。

【讨论】:

以上是关于按钮在 XIB 文件中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 Xib 创建的自定义视图在 Interface Builder 中不起作用

Asp.net 按钮 onclick 在更新面板中不起作用

使用 XIB 加载的 UIView 按钮不起作用

按钮单击在 iOS 中不起作用

android:背景在材料设计按钮组件中不起作用

添加子视图不起作用?