关于提前适配iOS13 苹果推送DeviceToken的通知 随着苹果iOS13系统即将发布,个推提前推出DeviceToken适配方案,以确保新版本的兼容与APP推送服务的正常使用。...请各位开发者根据当前运行环境做出相应的更新与优化,以保障用户在iOS13系统上有更好的使用体验。 ...在Xcode11、iOS13运行时"[deviceToken description]",情况如下图所示: ?...在Xcode11、iOS12或Xcode10及以下版本运行时"[deviceToken description]",情况如下图所示: ?...适配方案(推荐):因老版个推推送SDK未适配Xcode11、iOS13变化,可以选择升级个推SDK版本至 “2.4.1.0”(docs.getui.com/getui/mobil…)。
适配深色模式 苹果在iOS13中为iPhone引入了深色模式。那作为成为iOS程序员的我们也有事情做了,就是适配深色模式。...颜色 在iOS13以后,UIKit给我们提供了很多的动态颜色,以system开头的都是动态颜色,当我们给 UI 控件设置了动态颜色以后。 UI 控件就会自动的根据当前是否是黑暗模式展现出来对应的颜色。...,我们可以创建我们自定义的动态颜色。...initWithEffect:effect]; effectView.frame = self.view.bounds; [self.view addSubview:effectView]; (滑动显示更多) 在iOS13...UIUserInterfaceStyleDark; } 如果想让 App 都以一种固定的模式显示,只要在 Info.plist 文件中将 UIUserInterfaceStyle 设置为 Light 或
背景 按照往年新系统发布的时间规律,新的系统预计在9月20日左右发布,目前beta版本已经更新到beta6。...UINavigationBarAppearance后发现,iOS15navigationBar的相关属性设置要通过实例UINavigationBarAppearance来实现,UINavigationBarAppearance是iOS13...UITabbar tabbar的问题和navigationBar的问题属于同一类,tabbar背景颜色设置失效,字体设置失效,阴影设置失效问题 旧代码 ...... self.tabBar.backgroundImage...sectionHeaderTopPadding作为列表每个部分标题上方的填充,它的默认值是UITableViewAutomaticDimension,所以我们要将他设置为0,否则当我们的列表设置了section高度的列表会出现...head高度增加的情况,适配方式: ...... if #available(iOS 15, *) { tableView.sectionHeaderTopPadding = 0 } .....
一、背景 随着苹果爸爸在WWDC2019发布了新的iOS13,两年前的这篇微信iOS收款到账语音提醒开发总结方案已经不再适用,具体的原因是iOS13中(准确的说是使用XCode11编译)苹果不再允许PushKit...在iOS13中,苹果比以往更关注用户的隐私以及设备的电池续航问题,所以对PushKit的能力进行了收拢。...这篇文章总结了在iOS13下的语音播报迁移方案以及一些需要注意的问题。目前微信的7.0.10版本已经带上了这部分的特性。...UNNotificationSound 在NSE中,可以通过给UNNotificationContent中的Sound属性赋值来达到在通知弹出时播放一段自定义音频的目的。...AppGroups 由于我们是在NSE中自定义铃声,所以1和3这两个文件路径我们是无法访问的。
效果 实现步骤 自定义一个UITabBar,中心位置放一个按钮,设置按钮的背景图片,按钮一半超出这个自定义的UITabBar。...重写自定义UITabBar 的hitTest 方法,根据点击的位置返回点击的视图是 UITabBar还是 UITabBar上面的按钮。...使用KVC将自定义UITabBar 赋值给 UITabBarController 在UITabBarController中给自定义UITabBar上面的按钮绑定事件,来联动UITabBarController...源码解析 自定义UITabBar并重写 hitTest方法 @interface MCTabBar : UITabBar @property (nonatomic, strong) UIButton *...[UIColor colorWithRed:27.0/255.0 green:118.0/255.0 blue:208/255.0 alpha:1]; //透明设置为NO,显示白色,view的高度到
挑战->核心概念->该怎么做->总结->升华 找到1张卡做大的核心概念 找到3-5张卡做子概念的内容 把这些卡片的“行动指引”总结下,列在最后做个行动指引大全。...历史方案1:Voip 推送 不使用Voip 推送的原因:iOS13中(XCode11编译)苹果不再允许PushKit应用在非voip电话的场景上,如果需要使用PushKit的话则需要接入CallKit的接口...个人体验:在iOS15之前,我使用Service Extension方案实现App处于后台仍可进行收款到账的语言播报。但是iOS15之后就只有横幅通知,却没有语言播报。...以后的行动导向(最佳实现方案):通过Notification Service Extension修改推送sounds字段来播报自定义的语音。...中携带了需要合成的文本内容,通过离线语音合成库生成wav音频文件后,将文件写到AppGroups的Library/Sounds文件夹下,最后更改UNNotificationSound属性即可使通知播报一段自定义的收款到账语音
Paste_Image.png UITabBar 下方的工具条称为UITabBar ,如果UITabBarController有N个子控制器,那么UITabBar内部就会有N 个UITabBarButton...注意:UITabBarButton在UITabBar中得位置是均分的,UITabBar的高度为49。...在上面的程序中,UITabBarController有4个子控制器,所以UITabBar中有4个UITabBarButton,UITabBar的结构⼤大致如下图所示: ?...shareTool] findHairlineImageViewUnder:self.tabBar]; navBarHairlineImageView.hidden = YES; //设置背景颜色或图片...自定义TbarBar 视图切换时的动画的关键方法(后续会整理出视图切换时的动画实现) - (id )tabBarController
今天在GitHub上找了一个TabBar的轮子,Star 6.5k还不错,日常开发已经够用了,设置图片,选中图片,文本颜色,选中文本颜色,数字角标,选中动画,中间凸起按钮都有,日常开发已经够用了。...* 等 效于在 `-tabBarItemsAttributesForController` 方法中不传 `CYLTabBarItemTitle` 字段。 * 更推荐后一种做法。...height // 自定义 TabBar 高度 // tabBarController.tabBarHeight = CYL_IS_IPHONE_X ?..., shadowColor默认高度为1, shadowImage可以自定义高度. // standardAppearance.shadowColor = [UIColor cyl_systemGreenColor...[[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]]; [[UITabBar appearance] setShadowImage
正文 1、iOS 11的UITabbar的高度异常 问题描述:iOS 11+iPhone,在横竖屏切换的场景下,UITabbarViewController的底部栏UITabbar会出现高度异常。...问题定位:经过调试发现,从竖屏到横屏的时候,系统会改变UITabbar的高度;而我们的底部栏高度是自定义的值,故而会导致系统修改后的高度与自定义值不相同的情况。...寄存器和模块加载地址 问题定位:在本例中,查看上图知道,lr寄存器的地址是在第一个模块的加载区间内,以此作为线索。...在iOS 11的机型上,通过调试我们可以获取到self.data=...这一行在执行时,关于self的内存引用情况: ?...autoreleasepool和thread都会持有self,保证self在本次执行过程中不释放。故此猜测该问题苹果已经发现,并且在iOS 8后续的版本已经修复。
导航栏视图层级图 从图中可以看出,导航栏的底部分割线是一个UIImageView对象,而且高度只有0.5,所以我们可以据此获取到导航栏的底部分割线对象,在一个视图控制器中实现此需求,代码如下: #import...self.navigationController.navigationBar]; self.navBarBottomImage = navBarBottomImage; } //第四步:设置分割线的显示或隐藏...: iOS系统的导航栏UINavigationBar与标签栏UITabBar默认都是半透明模糊效果,在这种情况下系统会对视图控制器的UI布局进行优化:视图控制器里面第一个被添加进去的视图是滑动类视图,并且其...Frame是整个屏幕大小时,系统会自动调整其contenInset,以保证滑动视图里的内容不被UINavigationBar与UITabBar遮挡。...但是对于普通的视图,此时我们仍然需要注意:非滑动视图的布局仍然要考虑导航栏和标签栏高度,注意不被遮挡,比如布局的时候加上导航栏高度,以免内容被导航栏遮挡。
自定义UITabbarController进而自定义UITabbar,这通常会是一个iOS项目开始的重要环节。...在Swift的学习过程中,个人感觉虽说两种语言的相似度很大,但是Swift依然在代码风格上有着和OC很大的差异。...在总结了一些基本的用法之后,我尝试使用Swift自定义UITabBarController和UITabbar,开启这Siwft项目的关键一步,首先展示一下效果图: ?...屏幕快照 2017-07-15 下午12.03.08.png 第四步:创建自定义的标签视图控制器和自定义UITabbar 1.创建自定义标签控制器MainTabBarController,其关键代码如下...在项目前期我们以自定义的方式来创建标签栏,这也是为了后期应对更加复杂的需求做伏笔,比如增加新的控制器我们只需要修改plist配置文件的属性创建相应的视图控制器就可以,这样就避免了修改大量代码。
用户权限 iOS13及以上苹果增加了用户权限的询问,在首次打开APP时,会询问用户是否允许使用蓝牙。 2....蓝牙关闭 2.1、 在“设置”关闭蓝牙,系统会提示“打开蓝牙来允许XXX连接到配件” 2.2、 在“控制中心”关闭蓝牙,系统不会做任何提示,这时候需要自定义弹窗提示,而这两种情况又无法区分,所以这个自定义弹窗只能都弹...注意 “设置”打开或关闭蓝牙,“控制中心”也会打开或关闭蓝牙,两者同步; “控制中心”打开蓝牙,“设置”也会打开蓝牙; “控制中心”关闭蓝牙,不会影响“设置”; 通过属性CBManagerState...iOS13增加了属性CBManagerAuthorization,来获取蓝牙的授权状态. �
标签栏 标签栏让人们可以在一个app不同的子任务、视图或模式之间切换。 API NOTE 标签栏包含在标签栏控制器(管理一系列自定义视图的显示)内。...查看Tab Bar Controllers和UITabBar来学习更多关于在你的代码中定义标签栏的内容。...一个标签栏: 是半透明的 总是出现在屏幕的底部边缘 在垂直紧凑环境下一次最多显示五个标签(如果有更多的标签,标签栏会显示其中四个,并添加一个“更多”标签,来在一个列表中显示其余的标签) 在所有方向保持同样的高度...可以在标签上显示一个标记来传达app特有的信息(标记是一个红色的椭圆包含白色的文本或数字或感叹号) 使用标签栏给用户到同一个数据的不同构面或与app总功能有关的不同子任务的链接。...查看Bar Button Icons学习如何设计自定义的标签栏图标。标签栏图标可以通过tintColor属性上色。
在 Xcode11 中,Code Snippets的入口为右上角的“+”按钮。user 区为自定义的代码块,其它区为系统的代码块。 ? Code Snippets 入口 2....Code Snippets自定义 选中要定义成代码块的代码,右键,选择Create Code Snippet。 ? 编辑代码块。...Title:标题 Summary:描述 Language:可以在什么语言文件中使用 Platform:可以在什么平台下使用。...如if/else语句的自动补全应该只在方法或者函数的实现中有效。... Preprocessor Directive:预处理指令 String or Comment:字符串或注释 Top Level ?
UITabBar 中间添加按钮的实现 我们知道中间加号按钮是没有标题的,即使我们将标题设置为空,还有有标题的label站位,所以UITabBarItem是不能实现了,那么我们只能将一个button覆盖在中间这块区域上...方法一:添加站位控制器,我们可以在中间的位置上添加一个空的站位控制器,然后将button覆盖到UITabBar中间,这样做简单方便,但是创建了一个Controller和一个UITabBarItem没有别的用处只是用来站位...中间button覆盖在原有UITabBarItem上 方法二:自定义tabbar重写layoutsubViews方法 为了避免第一种方法产生站位Controller和UITabBarItem,我们自定义一个...UItabbar,重写layoutsubViews尝试我们自己控制TabBarItem的位置,实现方法很简单,将UITabBar平均分为5段,将中间空出,其他四个TabBarItem设置完frame之后...self.frame.size.height;代码很长,那么我们可以写一个UIView的分类,直接就可以通过self.height来设置其高度。
越透明越明显;经过一番查找,终于发现问题: 问题: 1、iOS 13之前,可以通过valueForKey 获取UIApplication的statusBar,因为UIApplication是单例,因此,在iOS...(34.0):(0)) 2.1 应用场景1:自定义导航栏内容 导航栏显示公告和标题 navView = [[UIImageView alloc]initWithFrame:CGRectMake...; NSLog(@"导航栏高度:%f",navHeight); //获取tabBar的高度 //1.在tabBarController中使用(你的继承自UITabBarController的VC) CGFloat...tabBarHeight = self.tabBar.frame.size.height; NSLog(@"tabBar高度:%f",tabBarHeight); //2.在非tabBarController...:%f",tabBarHeight); see also iOS13适配暗黑模式方案:1、设置app不支持Dark Mode 2、制定深色模式开发规范 https://blog.csdn.net/z929118967
UINavigationBar 上面内容的渲染颜色:默认情况下,按钮或系统图片按钮都会渲染成蓝色,可以通过 UINavigationBar 的tintColor设置。...自定义使用。 UITabBarController 标签栏控制器。 可以展示多个 UIViewController,这些 UIViewController 是平级关系。...它的 View 由两部分组成,上面是 UIViewController 的view,下面是UITabBar。...颜色问题 UITabBar的颜色 可以通过 UITabBar 的barTintColor设置。 渲染颜色 图片一般由设计师统一设计,需要设置标题文字颜色以适应图片。...自定义使用。 其他 UITableViewController:表视图控制器,集成了 UITableView 的视图控制器。
开屏V+广告是一个5s-30s的视频广告,在5s开屏呈现的过程中,用户点击右上角的“进入首页”或5s曝光结束后,视频均将收缩到APP内右下角的小视窗继续播放。...开屏全屏广告需使得显示区域其高度与设备高度一致,即为开屏全屏广告。开发者可通过以下接口配合使用提供媒体logo,用以随开屏广告展示。...showFullScreenAdInWindow:(UIWindow *)window withLogoImage:(UIImage *)logoImage skipView:(UIView *)skipView; 开屏半屏广告的显示区域其高度一定要大于设备高度的...75%(建议值大于80%),最小高度要大于400dp,开屏广告默认只在竖屏展示,横屏一般不满足尺寸要求。...idfa的适配请看本文的第三章节 GPS信息获取开关 在已获得GPS权限的前提下,媒体可以选择是否在广告中获取用户的GPS信息,以便获取定向广告。
记录了触摸事件产生或变化时的时间。 (5)phase:触摸事件的周期,即触摸开始、触摸点移动、触摸结束和中途取消。 方法 // 返回一个CGPoint类型的值,表示触摸在view上的位置。...在响应之前,必须要找到那个最合适的对象(最佳响应者),这个过程称之为事件传递或寻找最佳响应者(Hit-Testing)。...通过这两个方法可以做很多事情,其中一个经典的案例是自定义中间有凸起按钮的 UITabBar。...此时需要重写 UITabBar 的point方法,判断当前触摸位置是否在中间凸起按钮的坐标范围内,如果在返回 true。这样可以让触摸事件传递到凸起按钮,并让其成为最佳响应者。...使用步骤 创建手势实例,指定回调方法,当手势开始,改变、或结束时,回调方法被调用。 将手势添加到需要的 UIView 上。
,我们一般是采用的UITabBar + UINavigationController架构,对于每一个UITabBar的item模块,我们都定义一个UINavigationController对该item...而在这个模块上,我们有某个或某些viewController需要禁用侧滑手势(一般需要禁用侧滑手势是因为返回或退出当前viewController时需要double confirm,在一些填表的页面比较常见...在导航条右侧。...此外,如果是自定义的左按钮,则系统不会修改其值。...的自定义则会禁用侧滑返回手势。
领取专属 10元无门槛券
手把手带您无忧上云