1

这可能看起来很简单,但我才刚刚开始,所以请耐心等待......

我有一个带有工具栏的主视图。当用户按下工具栏中的按钮时,我希望在屏幕顶部出现一个小提示。我在现有的 UIView 中添加了一个 UIView,并将其设置为隐藏。我将它连接到视图控制器中名为“searchView”的 ivar,并尝试了以下操作:

searchView.hidden = NO;

当那不起作用时,我尝试添加...

[self.view addSubview:self.searchView];

...这也不起作用。

我是否需要以某种方式设置索引以将其置于主视图之上?

这种方法完全错误吗?

4

1 回答 1

1

如果您从界面构建器创建了 UIView,请忘记使用 addSubview,因为界面构建器会自动执行此操作。

要在图形模式 (IB) 中执行此操作,请执行以下步骤:

在你的文件“h”中定义一个 IBOutlet 应该是这样的:

IBOutlet UIView * myHiddenView;

然后在 IB 中,将您在 h 文件中定义的 IBOutlet 连接到您在 IB 中以图形方式创建的 UIView,并将 hidden 属性赋予此 UIView(复选框)。

然后在您的按钮按下方法中执行以下操作:

myHiddenView.hidden = 否;

如果您更喜欢以编程方式复制此示例代码:

在.h文件的接口中定义

UIView *myHiddenView;

在.h文件中的接口之后:

-(void)displayView:(id)sender;

然后在 .m 文件中:

-(void)viewDidLoad{
    myHiddenView = [[UIView alloc] initWithFrame: CGRectMake (x, y, width, height)];
    myHiddenView.hidden = YES;
    [self.view addSubview: myHiddenView]

    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(x, y, width, height)];
    [button setTitle:@"button" forState:(UIControlState)normal];
    [button addTarget: self action: @selector(displayView:) forControlEvents: UIControlEventTouchUpInside];
    [self.view addSubview:button];
}

-(void)displayView:(id)sender{
    myHiddenView.hidden = NO;
}
于 2011-02-17T08:14:26.510 回答