介绍 UIViewController 可以理解为 App 的界面,负责管理 UIView 中显示的内容和用户的交互,主要有以下作用: 负责创建和管理 UIView。 响应用户与视图的交互。...() xib 这种方式本质是 xib 创建 UIView,然后让这个 UIView 成为 UIViewController 的默认 View。...loadView方法 用于创建 UIViewController 的 view。 当 UIViewController 访问 view 时如果发现为 nil,就会调用 loadView 方法。...返回按钮 如果当前 UIViewController 设置了leftBarButtonItem属性,则默认的返回按钮会被替代,自带的返回和从屏幕边缘滑动返回的效果失效,此时只能通过popViewController...如果前一个 UIViewController 设置了backButtonItem属性或设置了backButtonTitle,可以起到更改返回按钮文字和图片的目的,但是返回按钮的的返回和从屏幕边缘滑动返回的效果依然有效
通过该属性可以获得当前选中的viewController 的下标,以及手动切换子视图。...selectedViewController属性 通过该属性可以获得当前选中的viewController 每个视图控制器都有一个tabBarController属性,通过它可以访问所在的UITabBarController...每个视图控制器都有一个tabBarItem属性,通过它控制视图在UITabBarController的tabBar中的显示信息。...方法-: self.tabBar.barTintColor = [UIColor blueColor];;//这样是也可以修改颜色 方法二: UIView *backView = [...:[UIColor grayColor] forState:UIControlStateNormal]; 上面这句话的意思 就是—-使UIView上面的UIButton的titleColor都变成灰色
*, 然后***由 UIViewController 负责创建与其对应的 UIView 界面***, 这个 UIView 是全屏控件的父容器, UIViewController 负责管理这个全屏的父容器...UIView ; 2.UIViewController 作用 : UIViewController 负责 ① 管理 UIView 的生命周期 创建 显示 销毁, ② 监听 UIView 内部控件的事件响应..., ③ 控制 UIView 与 用户之间的进行交互 ; 3.UIViewController 开发环境中的对应关系 : 选中界面中的 View Controller 元素, 然后去 属性面板 中对应的...方式访问 @property 修饰的成员变量, 即访问其自动生成的 getter 方法, number1TextField.text 是访问其 text 属性, 即用户输入的值; 3.将 NSString...状态的 文字 和 背景图片, 此时无法看到, 可以在 Control 属性中勾选 Highlighted 属性, 此时就能查看高亮状态的 文字 和 背景图片了; 8.定制样式 : 使用 System
]; UIView *view2 = [[UIView alloc] init]; view2.backgroundColor = [UIColor greenColor];...绿色方块 UIview的生命周期 创建一个自己的TestView,继承于UIView @interface TestView : UIView // 创建一个自己的TestView,继承于UIView...= [UIColor yellowColor]; UIViewController *controller3 =[[UIViewController alloc]init]; controller3....view.backgroundColor = [UIColor greenColor]; UIViewController *controller4 =[[UIViewController alloc...=@"我的"; ?
新建的视图控制器默认情况下是无法加载到程序运行界面上的,此时需要在应用程序代理的程序加载完毕事件中手动加载并显示我们的视图。...UIKit中最重要的类UIView。...UIView就是指界面可见的控件元素,所有的控件最终都继承自UIView,UIView中还可以添加其他UIView(通过addSubView方法); 在一个iOS应用中必须有一个主窗口UIWindow(...理论上也可以有多个UIWindow但是只有一个是主Window,而且只有主Window可以和用户交互),UIWindow也是继承自UIView,它拥有UIView的所有属性、方法; 在UIWindow中必须有一个根控制器...); UIViewController是视图控制器,主要用来控制UIView,在UIViewController内部有一个UIView(view属性); 在上面的代码中我们首先在应用程序加载完毕之后加载一个
UIView是UIKit框架里面最基础的视图类。UIView类定义了一个矩形的区域,并管理该矩形区域内的所有屏幕显示。 控件 ?...image.png 1个UIWindow 或 UIView 1、设置背景色 import UIKit class ViewController:UIViewController { override...let view = UIView(frame:CGRect(x:40, y:80,width:240, height:240)) view.backgroundColor = UIColor.black...let touchView = UIView(frame:CGRect(x:60, y:60,width:200, height:200)) touchView.backgroundColor = UIColor.black...init(coder:) has not been implemented") } } 在ViewController中调用 import UIKit class ViewController:UIViewController
属性 Tittle 属性 : 每个 Segment 都有一个 Tittle 属性, 就是分段按钮每个按钮的标题; (7) Image 属性 Image 属性 : 为不同的 分段 Segment 设置图片..., (活动控件 静态控件 被动控件); (2) 图片显示属性 设置图片显示的属性 : -- image (普通) : 访问或设置该控件显示的图片; -- HighlightedImage (高亮)...:self action:@selector(click:)]; -- 为 UIView 添加手势识别器 : 调用 UIView 的 addGestureRecognizer 方法; [self.bigPicture...四个属性值 区域缩放, 图片的中心部分是不进行缩放的; 3....White : 大的 白色 风格; -- White : 白色风格; -- Gray : 灰色风格; (2) Color 属性 Color 属性 : -- 作用 : 设置进度条的颜色, 设置该属性会覆盖之前选中的风格中的颜色
前言 下拉顶部背景色设置: 往tableView的父控件添加拉伸背景视图 present 半屏适配 iOS13 modalPresentationStyle属性默认不是全屏样式UIModalPresentationFullScreen...*tmpColor = [UIColor colorWithPatternImage:bgImg]; mj_header.backgroundColor =tmpColor..._stretchView) { UIView *tmp =[[UIView alloc] init]; _stretchView =tmp; //...iOS13适配【灵活控制模态展示的视图样式】(全屏/下滑返回)文中提供完整demo源码 全局hook presentViewController方法 // // UIViewController+ERPPresent13...spm=1001.2014.3001.5501 问题:没有上拉的时候加载更多控件的文案也显示出来了 修复方式1:修改视图距离底部的高度 [self.vcView mas_makeConstraints
关联 xib 文件与源文件 关联 xib 文件与 UIView 子类的源文件 新建一个空的xib文件,拖一个UIView上去 新建一个继承自UIView的源文件 选中xib文件里的View,把class...在源文件的 loadView() 方法里设置该 VC 的 View 属性为这个自定义的 View。...View 连线 xib 既可以与 UIView 关联,也可以与 UIViewController 关联,也可以同时关联 UIView 与 UIViewController 使用 xib 通过 Bundle...UIView view.addSubview(testView) } 使用与 UIViewController 子类源文件关联的 xib Demo HomeViewController.swift...中间带箭头的选中表示UIView边框是随屏幕尺寸变化的。 否则UIView大小保持不变。 也可以看右侧的动画查看显示效果。
popoverVisible; //获取控制器箭头方向 @property (nonatomic, readonly) UIPopoverArrowDirection popoverArrowDirection; //这个属性可以增强控制器的交互能力...(nullable, nonatomic, copy) NSArrayUIView *> *passthroughViews; //隐藏视图控制器的方法 - (void)dismissPopoverAnimated...:(BOOL)animated; //设置视图控制器的背景颜色 @property (nullable, nonatomic, copy) UIColor *backgroundColor NS_AVAILABLE_IOS...属性可以将一个自定义的类作为控制器的背景视图,需要注意,此自定义的类必须继承自UIPopoverBackgroundView,并且子类必须覆写父类中的一些列方法,示例如下: @interface MyView...UIPopoverPresentationContriller的使用需要和UIViewController结合进行,使用过程示例如下: UITableViewController tabCon = [[
这两个色块就代表前言中顶部的左右按钮,点击左边的色块会从左边弹出一个控制器,右边的同理。 ? 第二步,实现弹出控制器: 现在我们给左右按钮addTarget。...在`viewcontroller.m中引入,并添加如下属性方法: // 记录当前是哪个vc @property (nonatomic, strong) UIViewController *currentVC...:nil]; [UIView animateWithDuration:0.2 animations:^{ inActiveVC.view.frame = [self...self.currentVC.view.frame = [self dismissToFrame]; [self.view addSubview:self.currentVC.view]; [UIView...所以我们其实可可以相UITabbarController一样,写一个控制器,然后传入需要的UIViewController数组,就可以实现。这样使用起来也方便,维护也简单。
]; return tabBarItemsAttributes; } /** * 更多TabBar自定义设置:比如:tabBarItem 的选中和不选中文字和背景图片属性.../ set the text color for unselected state // 普通状态下的文字属性 NSMutableDictionary *normalAttrs = [NSMutableDictionary...NSFontAttributeName] = [UIFont systemFontOfSize:10]; // set the text color for selected state // 选中状态下的文字属性...tabBarController:(UITabBarController *)tabBarController didSelectControl:(UIControl *)control { UIView...cyl_showBadgeValue:@"90" animationType:CYLBadgeAnimationTypeNone]; } } //缩放动画 - (void)addScaleAnimationOnView:(UIView
self.viewModel.collectionDataArray valueForKeyPath:@"@distinctUnionOfObjects.imageView4small"];//arDistinct是一些含有originalAddress属性的对象集合...self.viewModel.collectionDataArray valueForKeyPath:@"@distinctUnionOfObjects.originalAddress"];//arDistinct是一些含有originalAddress属性的对象集合...*)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *...,所有动画控件都应该加在这上面 UIView * containerView = [transitionContext containerView]; //转场去往的控制器 UIViewController...:从数组搜索特定条件的元素https://kunnan.blog.csdn.net/article/details/113499172 通过 isSelected 筛选选中的规格数据 - (NSString
= [UIColor redColor]; return view; } 在工程中添加一个js文件,编写如下: require('UIView, UIColor, UILabel')...这个类,需要在使用前进行如下引用: require('UIView') 同样也可以一次对多个Objective-C类进行引用: require('UIView, UIColor, UILabel') 还有一种更加简便的写法...(UIColor.colorWithRed_green_blue_alpha(0,0.5,0.5,1)) 对于Objective-C类的属性变量,在JavaScript中只能使用getter与setter...方法来访问,示例如下: label.setText("JSPatch") 提示:如果原Objective-C的方法中已经包含了_符号,则在JavaScript中使用__代替。...,用于在方法间参数传递,使用set_Prop_forKey()来添加属性,使用getProp()来获取属性,注意,JSPatch添加的属性不能使用Objective-C的setter与getter方法访问
颜色适配 iOS 13 之前 UIColor 只能表示一种颜色,从 iOS 13 开始 UIColor 是一个动态的颜色,它可以在 LightMode 和 DarkMode 拥有不同的颜色。...,当系统从 LightMode 和 DarkMode 之间切换的时候就会触发这个回调。...我们可以在 UIViewController 或 UIView 中调用 traitCollection.userInterfaceStyle 来获取当前视图的样式,代码如下 if trainCollection.userInterfaceStyle...我们可以用以下代码将当前 UIViewController 或 UIView 的模式。...因为苹果对 overrideUserInterfaceStyle 属性的解释是这样的。
首先,所有 UIKit 本身所提供的 UI 控件(例如 UIView,UILabel,UITextView等等) ,只要没有针对颜色等内容特殊设置过,都会自动适配深色模式,这部分是我们开发者不需要去关心的...我们所熟悉的 UIView 、UIViewController 、UIScreen、UIWindow 都已经遵从了一个叫UITraitEnvironment的协议。...这些类都拥有一个叫做 traitCollection 的属性,traitCollection里面有一个userInterfaceStyle属性,而颜色模式就是存在 userInterfaceStyle...比如这样写: self.view.backgroundColor = [UIColor systemRedColor]; (滑动显示更多) 当然,系统提供的这些动态颜色肯定是无法满足我们的实际开发需求,...,那也可以利用xcassets 中图片新增的 Apperance 属性,分别设置两种模式下所使用到的图片: 模糊效果 模糊效果也就是我们常说的毛玻璃效果。
3)、在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层:@property (nonatomic,readonly,...UIView的显示。...UIView本身不具备显示的功能,是它内部的层才有显示功能 5)、通过CALayer对象,可以很方便的调整UIView的一些外观属性,比如:阴影、圆角大小、边框宽度和颜色。。。...、UIColor,只能使用CGImageRef、CGColorRef 8)、UIView和CALayer的比较 通过CALayer,可以做出跟UIView一样的界面效果;但是UIView多了一个事件处理的功能...: keyPath相应属性的初始值 toValue: keyPath相应属性的结束值 动画过程说明: 随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue
介绍 UIViewController 与 UIView 均增加了一个名为updateProperties()的新方法,可以通过修改属性值达到更新 UI 的效果。...它是一种轻量级的 UI 更新方式,不会触发完整的布局过程(不会触发layoutSubviews()或者viewWillLayoutSubviews()方法)。常见使用场景如下。...更改 UI 的内容。 显示/隐藏 UI。 无需移动或者调整 UI 的大小。 可以自动追踪 @Observable Object。...自动追踪 案例 import UIKit @Observable class Model { var currentColor: UIColor = .systemGray var currentValue...model.currentValue = "iOS26" } } 效果 手动更新 案例 import UIKit class Model { var currentColor: UIColor
是视图的基类 UIViewController是视图控制器的基类 12.每个应用至少一个窗口,UIWindow继承UIView 自动创建(xcode4.5之后) 13.UIScreen对象可以充当...removeFromSuperview:视图从父视图移除 19.视图属性 19.1tag属性标签值 view2.tag = 2;//设置tag属性 UIView *_view = [self.window...viewWithTag:2];或者tag为2的视图 其他属性:子视图会继承父视图属性 alpha透明度0.0~1 backgroundColor背景颜色 subviews子视图集合 hidden...:75/255 green:23/255 blue:22/255 alpha:1]; [UIColor redColor]; 21.自定义UIView SubView *_view = (SubView...*)[self.window viewWithTag:110]; 这样view才能使用subview中的方法 这样我们自定义的UIView需要重载dealloc方法进行内存释放 22坐标系统变换(
我们在访问UIView的frame,bounds等属性又或者设置动画,其实也都是在操作其关联图层CALayer的特性。...测试CALayer寄宿图2.png 另外,类似的对于CALayer的显示设置和UIView具有下面的对应关系(这里仅简单总结概念和用处): CALayer属性 UIView属性 属性说明 contentsGravity...CALayer重绘并保存了因此产生的图片;CALayer有一个可选的delegate属性,实现了CALayerDelegate非正式协议,当CALayer需要一个内容特定信息时,就会从协议中请求;而当需要被绘制时...和UIViewController,如上述代码的演示就会造成崩溃; UIView本身携带的layer的代理就是自己,如果将一个layer的代理设置成它,那它本身的layer就会受到影响,通常表现为野指针崩溃...UIView属性 CALayer属性 属性说明 frame frame 表示相对于其父视图的坐标位置 bounds bounds 表示相对于其自身的坐标位置,{0,0}通常是其左上角 center position