Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何显示重叠视图_Ios_Objective C - Fatal编程技术网

Ios 如何显示重叠视图

Ios 如何显示重叠视图,ios,objective-c,Ios,Objective C,我有一个视图,上面有一些UI组件和一个按钮,当触摸一个按钮时,我想显示一个半视图,其中一些文本字段与初始视图重叠,初始视图应该部分可见,重叠视图将从底部仅覆盖半个屏幕。这可能吗 我没有任何代码,因为我无法确定它需要做什么,因为我们显示的任何视图都覆盖了整个屏幕 谢谢是的,假设您使用的是Interface Builder,请继续构建重叠视图,并连接所有iOutlet和iAction。假设此视图称为myView。设置myView.hidden=YES和myView.enabled=NO。这将隐藏并禁

我有一个视图,上面有一些UI组件和一个按钮,当触摸一个按钮时,我想显示一个半视图,其中一些文本字段与初始视图重叠,初始视图应该部分可见,重叠视图将从底部仅覆盖半个屏幕。这可能吗

我没有任何代码,因为我无法确定它需要做什么,因为我们显示的任何视图都覆盖了整个屏幕


谢谢

是的,假设您使用的是Interface Builder,请继续构建重叠视图,并连接所有iOutlet和iAction。假设此视图称为
myView
。设置
myView.hidden=YES
myView.enabled=NO
。这将隐藏并禁用
myView
,以便从用户的角度看它甚至不在那里。在相应按钮的IBAction中,将
隐藏
启用
属性更改为
。这将使视图可见并再次处于活动状态。

是的,假设您使用的是Interface Builder,请继续构建重叠视图,并连接所有iOutlet和iAction。假设此视图称为
myView
。设置
myView.hidden=YES
myView.enabled=NO
。这将隐藏并禁用
myView
,以便从用户的角度看它甚至不在那里。在相应按钮的IBAction中,将
隐藏
启用
属性更改为
。这将使视图可见并再次处于活动状态。

是的,假设您使用的是Interface Builder,请继续构建重叠视图,并连接所有iOutlet和iAction。假设此视图称为
myView
。设置
myView.hidden=YES
myView.enabled=NO
。这将隐藏并禁用
myView
,以便从用户的角度看它甚至不在那里。在相应按钮的IBAction中,将
隐藏
启用
属性更改为
。这将使视图可见并再次处于活动状态。

是的,假设您使用的是Interface Builder,请继续构建重叠视图,并连接所有iOutlet和iAction。假设此视图称为
myView
。设置
myView.hidden=YES
myView.enabled=NO
。这将隐藏并禁用
myView
,以便从用户的角度看它甚至不在那里。在相应按钮的IBAction中,将
隐藏
启用
属性更改为
。这将使视图再次可见和激活。

有几种方法可以做到这一点,这里有两种:

1) 添加显示在按钮上的popover控制器:
以下是一些关于Popover的苹果文档:

2) 将新视图作为子视图添加到UIViewController中
在程序上: 在viewDidLoad函数中,您可以执行以下操作来初始化半屏幕视图
GLfloat topOffset=self.view.frame.size.height/2
UIView-halfScreenView=[[UIView-alloc]initWithFrame:CGRectMake(0,topOffset,[UIScreen mainScreen].bounds.size.width,[UIScreen mainScreen].bounds.size.height-topOffset)

[self.view addSubview:halfScreenView];

如果您支持横向,则可能需要更多逻辑,您可以始终使用halfScreenView.frame.origin和halfScreenView.frame.size重新指定视图的位置

-最初,您可以隐藏此视图
halfScreenView.hidden=是

-单击按钮时,将显示叠加视图:
halfScreenView.hidden=否

使用情节提要:
如果有叠加视图,也可以在情节提要中设置叠加视图
-将UIView拖到UIViewController中,并将其设置在您希望它位于的位置
-通过选中属性检查器中的隐藏框初始化要隐藏的视图
-将视图作为属性添加到视图中
-管理何时使用self.halfScreenView.hidden显示此视图
-此技术允许您自定义故事板中新视图中的内容,这很好

对于两者:
-请注意图层,您不希望视图显示在已显示的视图后面。在故事板中,最后插入的内容位于顶部。在代码中,您始终可以使用halfScreenView.layer.zPosition访问/更改视图z位置(更高的z值位于顶部)
有几种方法可以做到这一点,这里有两种:

1) 添加显示在按钮上的popover控制器:
以下是一些关于Popover的苹果文档:

2) 将新视图作为子视图添加到UIViewController中
在程序上: 在viewDidLoad函数中,您可以执行以下操作来初始化半屏幕视图
GLfloat topOffset=self.view.frame.size.height/2;

UIView-halfScreenView=[[UIView-alloc]initWithFrame:CGRectMake(0,topOffset,[UIScreen mainScreen].bounds.size.width,[UIScreen mainScreen].bounds.size.height-topOffset)

[self.view addSubview:halfScreenView];

如果您支持横向,则可能需要更多逻辑,您可以始终使用halfScreenView.frame.origin和halfScreenView.frame.size重新指定视图的位置

-最初,您可以隐藏此视图
halfScreenView.hidden=是

-单击按钮时,将显示叠加视图:
halfScreenView.hidden=否

使用情节提要:
如果有叠加视图,也可以在情节提要中设置叠加视图
-将UIView拖到UIViewController中,并将其设置在您希望它位于的位置
-通过选中属性检查器中的隐藏框初始化要隐藏的视图
-将视图作为属性添加到视图中
-管理
 SecondView* second = [[SecondView alloc] initWithFrame:CGRectMake(0, [[UIScreen mainScreen] bounds].size.height/2, height, width);
 [self.view addSubview:second.view];
[self.view removeFromSuperview];
@property IBOutlet UITextField* textField;