这可能看起来很简单,但我刚刚开始对我这么做......
我有一个带工具栏的主视图。当用户按下工具栏中的按钮时,我希望在屏幕顶部显示一个小提示。我在现有的UIView中添加了一个UIView,并将其设置为隐藏。我将它连接到我的视图控制器中名为“searchView”的ivar,并尝试了以下内容:
searchView.hidden = NO;
当这不起作用时,我尝试添加......
[self.view addSubview:self.searchView];
......也没用。
我是否需要以某种方式设置索引以使其高于主视图?
这种做法完全错了吗?
答案 0 :(得分:1)
如果您从界面构建器创建了UIView,请忘记使用addSubview,因为它自动执行此操作。
要在图形模式(IB)中执行此操作,请按照以下步骤操作:
在文件中定义IBOutlet“h”应该类似于:
IBOutlet UIView * myHiddenView;
然后在IB中,将您在h文件中定义的IBOutlet连接到您在IB中以图形方式创建的UIView,并将隐藏属性提供给此UIView(复选框)。
然后在按钮按下方法执行此操作:
myHiddenView.hidden = NO;
如果您更喜欢以编程方式复制此示例代码:
在.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;
}