presented 新控制器时如果控制器的view背景颜色alpha不为1时,为什么会变成黑色背景。

NavigationController and the View Controllers are designed in such a way that only one view controller may show at a time. When a new view controller is pushed/presented the previous view controller will be hidden by the system. So when you reduce the modal view‘s alpha you will possibly see the window‘s backgroundColor (the black color you see now).

If you want a translucent view to slide-in over the main view, you can add the view as the subView of main view and animate it using UIView Animations.

时间: 2024-12-30 01:31:06

presented 新控制器时如果控制器的view背景颜色alpha不为1时,为什么会变成黑色背景。的相关文章

UISegmentedControl的使用、同一个控制器中实现多个View的切换、addChildViewController等方法的使用

本文先讲解简单的分段控制器UISegmentedControl的使用,然后具体讲解它最常使用的场景:同一个控制器中实现多个View的切换. 文章构思: 1.先直接讲解一张UI效果图的三种实现方式. 2.对UISegmentedControl类的各种属性和各种方法的讲解. UISegmentedControl控件的很大的使用场景基本像下面这张图显示的一样,在同一个控制器中实现多个View的切换. 结合这张图,我先讲解下产品的要求.导航栏上面放置一个UISegmentedControl控件,可以切换

新写了一个控制器,结果粗心导致出现了一个问题纠结了半天

新写了一个控制器,结果粗心导致出现了一个问题纠结了半天     误信息如下: 经过逐步排查发现时因为我的方法中用了一个Model ,却把Model的包引入错误所以造成上面的问题: 错误引入的包为:import com.sun.tools.xjc.model.Model; 正确的包为: import org.springframework.ui.Model;

【iOS开发-30】UITabBarController的几种代理方法以及结合NSUserDefaults还原上次退出时被选中视图控制器和视图控制器的顺序

一.UITabBarController的几种代理方法 在AppDelegate.h中加入一个协议<UITabBarControllerDelegate>,然后再AppDelegate.m中添加如下代理方法: 如果没有效果,可能是缺少tbCon1.delegate=self;把代理指定给当前AppDelegate. -(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:

新唐Cortex-M0微控制器的省电管理

新唐科技的NUC1xx包含NUC101.NUC100.NUC120.NUC130和NUC140,是以ARM Cortex-M0为核心的32位微控制器(MCU),经由不同时钟的设定,最高可以达到 50MHz的运作频率.然而在一般简单控制或系统负载较低时,CPU并不需要执行在最高的运行时钟下即可应付所需要的计算量.这时候,便可以利用系统时钟的控制来降低时钟,以达到省电的目的. 另一种情况是CPU因为等待下一个工作或只需要久久工作一次时,就可以先将CPU进入Idle或Power Down模式,等到一定

被导航控制器包装的控制器的View的y值问题

最近一直在纠结问题,为什么有时候被导航控制器包装的控制器的View的y值有时候是64,有时候是0,觉得很奇怪,于是研究了一下,发现有个属性可以改变View的y值,那就是translucent(属于导航栏的)这个属性可以设置y值,这个属性的作用是用来设置导航栏是否半透明,默认值为Yes(半透明效果),为NO则不透明,下图展示了一下Yes和No的区别: 要想禁用translucent属性,可以在Storyboard中选中导航栏,然后在Attribute Inspectors中,取消transluce

iOS开发-21UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解

(1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界面,也就是用户看到的界面. (2)我们需要把导航控制器加载到APP中,需要把这个导航控制器设置为window的根视图控制器(都是控制器类,可以赋值),这样就相当于加载到了window里. (3)我们要在栈中新增或者删除一个视图控制器,就需要得到导航控制器,一般在栈中得所有视图控制器都有一个self.

[BS-20] 导航控制器和视图控制器在添加控制器的区别

导航控制器和视图控制器在添加控制器的区别 1. 因导航控制器拥有导航栈,有一个普通视图控制器都没有的数组viewControllers,加入该数组中的视图控制器默认以push的方式进入导航栈.导航控制器有个[UINavigationController alloc] initWithRootViewController:rootVC]; 的初始化方法,调用该方法相当于把rootVC加入数组viewControllers的第一个位置,作为栈底部的rootVC是不会被pop出去的,与导航控制器共生死

02---按钮的设置 控制器拥有导航栏包装一层导航控制器 添加子控制器 UIBarButtonItem导航按钮 设置导航栏UINavigationBar主题 设置状态栏样式

一.按钮的设置 1.设置背景图片 [btn setBackgroundImage:image forState:UIControlStateNormal]; 2.内部UIImageView 1> 设置内部UIImageView的图片 [btn setImage:image forState:UIControlStateNormal]; // 不能写成btn.imageView.image = image; 2> 调整内部图片的内容模式 self.imageView.contentMode =

多控制器和导航控制器简单介绍

一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个view时,可以用一个大的view去管理1个或者多个小view,控制器也是如此,用1个控制器去管理其他多个控制器 比如,用一个控制器A去管理3个控制器B.C.D.控制器A被称为控制器B.C.D的“父控制器”:控制器B.C.D的被称为控制器A的“子控制器” 为了便于管理控制器,iOS提供了2个比较特殊的控制器 UINavigationControlle