4

我正在为 iphone 编写一个应用程序,并试图创建一个具有两个不同视图的视图控制器。所以我在情节提要的初始视图之上创建了一个子视图。我在 .h 中为新视图创建了一个出口。我想在按下按钮后显示 resultsView,因此我将视图设置为隐藏在属性中。

@interface ViewController : UIViewController 
{
UIView *resultsView;
}
@property (nonatomic, retain) IBOutlet UIView *resultsView;
- (IBAction)buttonTapped:(id)sender;

在我的 .m 中,我有以下代码

#import "ViewController.h"


@interface ViewController ()

@end

@implementation ViewController

@synthesize resultsView;

- (IBAction)scanButtonTapped:(id)sender
{
[resultsView setHidden = NO];
}

我也试过

resultsView.hidden = NO;

这些都不起作用,我尝试 NSLog 来检索 resultsView.hidden 的 BOOL,它仍然是 YES。

4

4 回答 4

7

如果resultsViewNULLnil,那么您没有在界面生成器或代码中正确分配它。确保在故事板/xib 文件中拖动插座连接,或在代码中分配它,例如viewWillAppear

如果未调用该函数,则该操作未链接到界面生成器中的按钮。为确保连接正确,您可以 ctrl+单击(或右键单击)并从按钮拖动到视图控制器,然后scanButtonTapped从出现的“已发送操作”列表中进行选择

于 2012-07-30T18:42:34.153 回答
2

另一种选择 - 检查您是否[? setHidden:]在 UIThread 中运行代码

于 2016-09-12T10:08:44.923 回答
1

最可能的解释是resultsView当您尝试设置 hidden 属性时 id nil 。

请检查您的代码以进行初始化resultsView,如果您需要更多帮助,请发布其中的一些相关部分。

于 2012-07-30T18:41:17.537 回答
0

如果您正在设计 a@IBDesignable UIView并且正在使用 swift,则不知何故view.hidden = isHidden不起作用。

解决方法如下。

view.setValue(isHidden, forKey: "hidden")

我希望这可以帮助那里的人。

于 2016-07-27T07:55:34.740 回答