用户权限 iOS13及以上苹果增加了用户权限的询问,在首次打开APP时,会询问用户是否允许使用蓝牙。 2....“设置”打开或关闭蓝牙,“控制中心”也会打开或关闭蓝牙,两者同步; “控制中心”打开蓝牙,“设置”也会打开蓝牙; “控制中心”关闭蓝牙,不会影响“设置”; 通过属性CBManagerState获取的是...“控制中心”的蓝牙状态。...iOS13增加了属性CBManagerAuthorization,来获取蓝牙的授权状态. �
关于iOS的布局主要有两种方式,分别是AutoResizing和AutoLayout。其中AutoResizing作为一种旧的布局方式,在AutoLayout被推广之后已经很少被使用。...为了更加清晰的了解iOS的布局方式,本篇针对于这两种布局方法进行简要的总结。...该属性表示autoresizingMask和autolayout两种方式的转换。这个属性对于在代码中生成的view来说默认是true,而对于IB中拖出来的view来说默认是false....从而实现了视图的自动布局。而当我们确定选择使用AutoLayout添加自己的约束的时候,我们必须设置此属性为NO,XIB中这个属性默认是NO。...约束,自定义的AutoLayout约束就会和AutoResizing里Autolayout约束冲突而报错。
关于提前适配iOS13 苹果推送DeviceToken的通知 随着苹果iOS13系统即将发布,个推提前推出DeviceToken适配方案,以确保新版本的兼容与APP推送服务的正常使用。...请各位开发者根据当前运行环境做出相应的更新与优化,以保障用户在iOS13系统上有更好的使用体验。 ...在Xcode11、iOS13运行时"[deviceToken description]",情况如下图所示: ?...适配方案(推荐):因老版个推推送SDK未适配Xcode11、iOS13变化,可以选择升级个推SDK版本至 “2.4.1.0”(docs.getui.com/getui/mobil…)。...DeviceToken的适配对iOS推送SDK的集成至关重要。请大家尽早选择相应的适配方案,以更好地兼容苹果新版本。如有任何问题,欢迎与我们进行联系。
之前如果做过Web前端页面的小伙伴们,看到绝对定位和相对定位并不陌生,并且使用起来也挺方便。在IOS的UI设计中也有绝对定位和相对定位,和我们的web前端的绝对定位和相对定位有所不同但又有相似之处。...下面会结合两个小demo来学习一下我们IOS开发中UI的绝对定位和相对定位。...在布局中LayoutConstraint和Fram布局方式是不能并存的。...上面说了这么多了,可能说的不太明白,还是那句话,怎么能少的了代码和实例的支持呢,下面会通过屏幕适配的事例来用绝对布局和相对布局同时实现下面的描述效果。 ...那么我如何用相对布局实现上面那种view放大的效果呢,接下来我们需要新建一个工程,因为相对布局和绝对布局在同一个组件中无法并存。
在这些布局中相对布局因为是通过设定视图之间的依赖来建立一种布局约束,因此我们可以用他来构造一些复杂且无规律的界面布局,但其缺点则是太过于依赖约束,导致当界面调整时需要重新设定视图之间的依赖关系(iOS的...这里的比重的设置,是在整体布局视图的浮动的方向的设定上的,就是说当整体的布局视图里面的视图是支持左边和右边浮动时则这个比重指定的是视图的宽度的相对比例值,而当布局视图支持的是上边和下边浮动时则这个比重指的是视图的高度的相对比例值...MyFloatLayout的方法和属性的介绍 说了这么多浮动布局的实现原理以及布局的机制,那我们怎么来使用和定义浮动布局呢?...因此为了解决这个问题,我们的布局系统提供了边界线以及智能边界线的功能。...即便如此,对于上面的特殊情况,我们还需要进行编程以及条件判断来完成边界线的指定,因此为了解决这个问题,我们在布局中新增加了一个智能边界线的属性: @property(nonatomic, strong
iOS布局体系的概览 在我的CSDN博客中的几篇文章分别介绍MyLayout布局体系中的视图从一个方向依次排列的线性布局(MyLinearLayout)、视图层叠且停靠于父布局视图某个位置的框架布局...,这里要分清楚的是MyGravity和MyLayoutPos的区别,前者是用来描述某个具体的方位,而后者则是用来某个方位的具体位置;用于描述子视图和布局视图四周内边距的padding属性,这个属性只用于布局视图...这些属性和类共同构建了出了一套完整的iOS界面布局系统。下面是这个套界面布局体系的类结构图: ?...三、流式布局内子视图的尺寸位置和间距 对于流式布局来说,虽然我们总是按约定的规则来排列定位其中的每个子视图的位置,但是我们依然在某种情况下需要设置每个子视图之间的间距,以及子视图本身的高度和宽度尺寸。...表格布局需要明确的指定建立一个新的行操作,同时又要明确的指定建立列的操作,同时表格布局的行和列的指定都是可以单独指定的,而流失布局则没有明确的行和列的概念,流失布局总是按一个方向进行排列,只要在遇到数量的约束和内容的空间的约束时就是自动的进行换行处理
这个问题起源于以前给客户端写的一个log模块,然后里面为了线程安全且多线程下不互相写乱,并且因为这些系统基本都用比较高版本的编译器,都支持C++11了,所以就用了C++11的TLS功能。...但是Android的默认std库并不是libstdc++或者libc++,而是Bionic。IOS不知道是什么版本的标准库都不支持thread_local的关键字。...如果使用这个关键字,链接的时候会报错说找不到符号。 当时梅花太多时间,而是在这两个环境下直接用了加锁的方式。...但是我们开发在Windows上,实际发布产品的时候是在Android和IOS上,这么做也就意味着开发时性能高过发布的代码。这显然不够美好,所以这两天做底层优化就顺带解决了一下。...解决方法也很简单,这两种系统虽然不支持C++11的TLS关键字,但是它们支持pthread规范啊。那么就可以这种情况直接用pthread来处理。
UIView *phoneView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 18, _phoneText...
MyLayout功能强大而且简单易用,它集成了iOS Autolayout和Size Classes、android的5大布局体系、HTML/CSS的浮动定位技术以及flex-box和bootstrap...而MyLayout则除了提供约束依赖外,还提供了根据视图添加顺序自动建立约束的功能,从而减少了这种显示依赖关系建立的问题,最终的结果是简化了布局的代码量,以及减少了布局更新时的代码修改量。...AutoLayout和frame布局的性能比较 参考的文章地址: http://floriankugler.com/2013/04/22/auto-layout-performance-on-ios/...线性布局MyLinearLayout 等价于iOS的UIStackView和android的LinearLayout布局。...MyRelativeLayout 等价于iOS的AutoLayout 和 Android的RelativeLayout布局。
三个图片的均匀布局 ? 5个图片的均匀布局 需求:在绿色框内实现图片的均匀布局。...思路: 1.先获取绿色框的宽度 2.再获取所有图片的宽度 3.获取图片间的间距((绿色框的宽度-所有图片的宽度)/(图片数-1)) 4.进行布局 代码: CGFloat allImageW = 0.0f
在iOS13中发现presentViewController和之前弹出的样式不一样 显示如下图 ?...奔溃截图 原因:iOS不允许valueForKey、setValue: forKey获取和设置私有属性。...13 上已经无法获取到准确的DeviceToken字符串了,iOS 13 通过[deviceToken description]获取到的内容已经变了。...8.通过kvc获取获取searchBar中的TextField方法更改,会引起崩溃 原因: ios13之后把SearchBar中的textField直接暴露给开发者使用,无需在通过kvc获取。...编译的安装包使用UISearchDisplayController和MPMoviePlayerController时会崩溃.
问题描述 当UITextView 处于编辑状态时,即键盘存在时,UITextView是第一响应者,而当需要弹出UIMenuController时,第一响应者需要变更为处理UIMenuController...菜单事件的对象,此时UITextView就不是第一响应者,键盘就会隐藏,造成键盘和UIMenuController不能同时出现。...问题示意图如下: ?...键盘和UIMenuController不能同时出现效果预览 解决方案 史上最详细的iOS之事件的传递和响应机制-原理篇 iOS响应链全家桶 此方案是通过改变响应链来解决的,如果对响应链不了解的先去补一下这方面的知识...键盘和UIMenuController并存问题解决
iOS流布局UICollectionView系列五——圆环布局的实现 一、引言 前边的几篇博客,我们了解了UICollectionView的基本用法以及一些扩展,在不定高的瀑布流布局中...是一个布局抽象基类,我们要使用自定义的布局方式,必须将其子类化,可能你还记得,我们在进行瀑布流布局的时候使用过UICollectionViewFlowLayout类,这个类就是继承于UICollectionViewLayout...类,系统为我们实现好的一个布局方案。... numberOfItemsInSection:0]; _attributeAttay = [[NSMutableArray alloc]init]; //先设定大圆的半径 取长和宽最短的...,我们就实现哦圆环布局,随着item的多少,布局会自动调整,如果不是UICollectionView的功劳,实现这样的功能,我们可能要写上一阵子了^_^。
抱歉这里不介绍开发者选项在哪怎么开启之类的问题。 1. Stay awake 充电时保持屏幕唤醒,开发的时候,时不时的锁屏真是够了,开启它后只要插着USB线就不需要总去解锁屏幕啦。 2....Show layout bounds 显示布局格子,当你看到一个应用有很棒的界面效果,想知道它是怎么布局的?开启这个功能即可。...你也可以在代码里为自己的应用开启严苛模式,一旦发现一些性能问题,就会有详细Log输出, 为避免影响线上用户,建议只在Debug模式下开启。 13....Show CPU usage 在你屏幕右上角显示一个小窗口,提示当前CPU的各种信息,在性能调试时会有一些帮助,看是否是CPU的负载过高导致了性能问题。 14....,如果你的应用能做到开启它时功能仍基本正常,说明代码设计得比较合理,不同Activity之间的耦和很低,对于复杂业务的应用来说,能做到这点真心不容易。
坐标转换 from: 从哪个坐标系 to: 到哪个坐标系 /// view1 上的 view2 在 self.view 上的位置 print("view2.center on self.view: \(...布局转换 /// view1 上的 view2 在 self.view 上的位置 print("view2 on self.view: \(view1.convert(view2.frame, to:...是否包含 view2 print("view1 contains view2: \(CGRectContainsRect(view1.frame, view2.frame))") /// view2 和
由于前几天偶然发现自己家宽带竟然是公网ip,这段时间一直在试着折腾一下ftp服务器,后面可能会写一篇搭建私有云(是ftp还是硬盘,还是类似网盘的的教程,随缘吧) 今天起床看到各大越狱群都是1000多条消息...,就知道肯定有大事情发生了,然后各大公众号翻了翻,果不其然在pwn经过N个24小时后终于发布了新版unc0ver V4.0,下面借用某个群的一张图片 ?...这次这个un只支持A12和A13,也就是对应的iPhone Xs,iPhone Xs Max,iPhone XR,iPhone 11,iPhone 11 Pro,iPhone 11 Pro Max,相信这几款机型大家基本都是主力...,等等解决办法,因为本人一直在12.0的chimera环境下,很稳定不想瞎折腾 还有最重要的是就是现在刚发布越狱不久,各大源服务器的压力都很大,现在不建议下载插件,因为大部分都会红字报错 这里贴个小东西吧...:(可以搜插件的官方源) https://www.ios-repo-updates.com/search/ 好了今天就说这么多吧,祝大家折腾顺利
iOS的每次大版本更新都会是iOSer的苦难之旅,这次的iPadOS估计肯定也不例外当然了这次估计是针对iPadOS的苦难而已吧。...在iOS13以下的iOS中iPhone和iPad用的是同一套OS而到了iOS13之后iPad单独摘出来另起炉灶称为iPadOS好了我们先上个坑---升级iPadOS之后App黑屏问题 问题描述 iOS13...上图是UI图层的继承结构,我们看到最外部的为WindowScene然后内部是两个同级的window层,那么问题来了这个WindowScene是什么呢?没见过,很陌生,直觉告诉我们问题可能出在这里。...我们先看看Xcode11下的UIWindow ? 在看看Xcode10的 ? 有了对比我们看看UIWindowScene是什么? ? 是不是感觉很不同啊,既然很不同那么问题十有八九就出现在这里啦。...好了我们基本确定了问题的范围就好说了,明天继续啃这部分……
() cannot be executed until the Fragment is attached to the FragmentManager出现这个异常来自于在Fragment中动态添加一个布局...,切换的时候崩溃写法如下:getLayoutInflater().inflate(R.layout.layout_footer...)调用的是Activity的getLayoutInflater 这句代码原本是没有什么问题的...,但是在Fragment中使用就有问题了。...view.getContext()).inflate(R.layout.fragment_bottom_button, null);所以,在Activity中可以直接用getLayoutInflater().inflate的方式
注意 升级为iOS13后,用Xcode10打包的ipa仍然不会有iOS13的特性(卡片modal和暗黑色),必须是Xcode11以上打包的才有 卡片样式 presentViewController出来的页面...,默认是卡片样式的,可以下滑移除,如果不想使用卡片模式,可以通过self.modalPresentationStyle = UIModalPresentationFullScreen进行修改 暗黑色主题...如果UI设计师还没设计好暗黑主题的样式,可以先不适配,只需要设置info.plist,增加字段User Interface Style,设置为Light
iOS界面布局之三——纯代码的autoLayout及布局动画 一、引言 关于界面布局,apple的策略已经趋于成熟,autolayout的优势在开发中也已经展现的淋漓尽致。...创建NSLayoutConstraint对象的方法有两种,下面我们分别介绍: 1、使用Objective-C风格的方法创建约束对象 所谓Objective-C风格的方法,就是通过原生枚举和一些属性设置来创建...(8_0), //下面的属性是设置的边距 意义和上面类似 对应左,右等边距 NSLayoutAttributeLeftMargin NS_ENUM_AVAILABLE_IOS(...attr2:view2的要约束的属性,和attr1含义一样。 multiplie:约束的比例,比如view1的宽是view2的宽的两倍,这个multiplie就是2....代表是水平的布局还是垂直的布局,H代表水平,V表示垂直,|表示父视图的边沿,-20-表示距离20px,[]内是要布局摆放的视图对象名,()中是约束的尺寸,H下则为宽度,V下则为高度,@后面的数字代表优先级
领取专属 10元无门槛券
手把手带您无忧上云