iOS中UIPopoverController使用详解 一、引言 UIPopoverController是Pad设备中常用的一种视图控制器,其在UI表现上为在当前视图控制器上面弹出一个子视图控制器...UIPopoverController只能用于iPad,在要兼容iPad和iPhone的项目中,需要根据设备类型使用两套代码。...在iOS8之后,系统提供了UIPresentationController来代替她,UIPresentationController可以兼容iPhone与iPad。...应用解析 UIPopoverPresentationController是iOS8后系统新引入的控制器,其可以很好的兼容iPhone与iPad。...UIPopoverPresentationContriller的使用需要和UIViewController结合进行,使用过程示例如下: UITableViewController tabCon = [[
首先,啥都不管,先在iPhone X上运行起来看看效果在说,运行之后出现的问题主要有如下几个: 屏幕尺寸还是6S上的尺寸大小,用 打印log确实如此 [[UIScreen mainScreen] bounds...项目中是纯代码布局,使用AutoLayout框架Masonry进行布局),这一块的问题很少,也很简单,改变一下相对位置的值看看效果就ok。...屏幕尺寸还是6S上的尺寸大小,用打印log确实如此 [[UIScreen mainScreen] bounds] 这个的主要问题就在于没有适配iPhone X的启动页,如果你的项目中没有自定义的启动页则无所谓..., 0); 9 } 10 11 //将自定义的按钮添加到返回键上 12 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc...竟然过期了,在IOS 11下 APPLE推荐使用UIScrollView的contentInsetAdjustmentBehavior属性进行设置自动计算滚动视图的内容边距。
iOS 8 之后新增了 UIPresentationController 控制器,用于所有的界面转场。在以前,popViewController只适用于iPad。...而现在使用UIPopoverPresentationController不再需要对设备进行判断了。...这个控制器的用法我还在摸索中,今天先上一段代码,做到在iPhone像iPad中的pop弹出视图效果。 UIPopoverPresentationController不需要你去创建。...[TableViewController alloc] init]; view.preferredContentSize = CGSizeMake(120, 200);//popover视图的大小...view.modalPresentationStyle = UIModalPresentationPopover;//如果没有这句,pop不会被初始化 UIPopoverPresentationController
大家好,又见面了,我是你们的朋友全栈君。 由于经常没电关机,越狱失效,就需要经常再越狱。 越狱后要: 1.越狱设备安装“AFC2”补丁。...Clutch使用(有的应用会报错,不建议使用) Clutch -i iPhone:~ root# Clutch -b com.jj.iphoneclient 6.查看页面布局:iOS逆向工具-Reveal...46d3a080b5e5 7.usb ssh连接: iproxy 2222 22 waiting for connection 后需要新开一个窗口 ssh -p 2222 root@127.0.0.1 8.把别人的应用变成越狱应用注意.../dump.py 企信 9.安装防越狱检测插件 添加源 http://xcon.crazy.net xcon 建行可以绕过 但导致cydia挂了 10.安装这个防越狱检测插件: 雷锋源 ”Shadow
这次给大家分享的是其中关于“成功开发iPhone软件的10个步骤”的讲座,虽然与我们工作中设计软件的应用平台不同,但是还是有很多成功的经验可以借鉴。 1....访问app store iPhone上的软件设计者没有多少机会去教育用户熟悉新的设计,这是由于iPhone本身的使用环境限制的,用户的注意力时间有限,耐心也有限,很多时候都是在交通工具上或者在等待的间隙使用的...但是通常第一个设计方案都不是完美的,即使是苹果的设计师,第一个方案往往都是糟糕的。 Iphone上的软件有很多局限性: 1. 小屏幕 2....以iPhoto为例,下图左侧为mac上的iPhoto程序,功能非常全面,编辑图像的能力很强。而右侧是iPhone端的程序,主要的功能是看图。 ? ...不能因为功能上的减少就说iPhone端的iPhoto不成功,事实上它是一个非常成功的软件。任何人即使是3岁的孩子也会使用它,它的核心思想就是“小”。
有3D-touch机型的坑昨天在上线的时候遇到了一个坑,最后导致的结果是找了好几个小时,直接到半夜才能上线。...入正题: 坑是:项目运行在456上没什么问题,但是在6S以上的机型就有点击事件不响应的情况出现,我的是直接登录界面就点击按钮都没有反应,有的时候轻点就有可能有响应,但是响应很慢。...首先自己从点击事件的不响应开始去排查,发现响应事件也开着,也不是触摸范围的问题,再者是怀疑是不是VC的层级结构的问题,开始尝试各种跳转,还是在6S上没有反应,甚至新建了一个类控制器来跳转测试,上面就丢了一个按钮...后来在百度中无意看到一个说法:项目中对UIButton有分类的,有可能会对3D-Touch的机型有影响的,我的天啊,然后检查项目,把关于UIButton的扩展去掉后,项目正常了。...或许是因为我的那个UIButton的分类里加了touch方法才导致这个结果,而没有写touch方法的UIButton的分类应该是没有影响的。
过了好久,今天终于有时间总结一下适配iPhone X相关的坑,总的来说有两类坑,一个是导航栏+状态栏的高度发生了变化,一个是一些没有实现实现-tableView: viewForHeaderInSection...拓展:获得iOS系统与App版本信息 获取iOS系统版本号:返回字符串 + (NSString *)getSystemVersion{ return [[UIDevice currentDevice...适配iPhone X的其他问题 适配iPhone X和Xcode 9的过程中,除了与导航栏相关的问题,还有一个问题经常出现,就是UITableView相关的问题。下面两个办法可以解决多数错位的问题。...iOS新增了个safeArea,原来的老代码中,规定子视图跟根子视图的关系的代码需要新增一个判断:当iOS 11时,需要改为子视图跟根子视图的安全区的关系。...这样就不会在iPhone X的底部虚拟home有任何控件干扰了。
有些测试场景需要知道在真实实体手机上访问我们开发的页面时产生了哪些不同的请求、访问了哪些链接。这个事情在 Windows 上做起来很简单,工具也有很多。...浏览器自带的监控工具、HttpWatch 等工具都可以实现,今天介绍的主角 charles-proxy 也可以实现,但是 charles-proxy 强大的地方在于它可以建立一个临时代理服务器,手机上设置使用这个代理即可在...安装完成后打开,默认情况下它会监控我们 Windows 本机的访问记录。 ? 接下来我们来配置一下代理,让我们的 iPhone 来连接。点击 Proxy->Proxy Setting 菜单: ?...此时就已经开启了代理,你需要看一下你的 IP 地址,好让 iPhone 来连接。 ?...打开 iPhone,将网络和你电脑连接到一个内网中,在 WIFI 设置中,点击 WIFI 名字右侧的叹号,进入设置页面并点击最下方的代理设置。 ?
重要参考链接: iOS 8中使用UIAlertController http://www.cocoachina.com/ios/20141126/10320.html iOS 8的新特性之一就是让接口更有适应性...要说明一点,苹果官方现在并不提倡在iOS 8中使用UIAlertView,取而代之的是UIAlertController。下面我们就来介绍UIAlertController的使用方法。...和对话框不同,上拉菜单的展示形式和设备大小有关。在iPhone上(紧缩宽度),上拉菜单从屏幕底部升起。在iPad上(常规宽度),上拉菜单以弹出框的形式展现。 ...接下来我们就可以在iPhone或者其他紧缩宽度的设备上展示了,不出我们所料,运行得很成功。 ...在iOS 8中我们不再需要小心翼翼地计算出弹出框的大小,UIAlertController将会根据设备大小自适应弹出框的大小。并且在iPhone或者紧缩宽度的设备中它将会返回nil值。
一、发布前的准备 1.计算机的windows10环境 2.下载appuploader.exe工具,它可以在 windows(http://www.appuploader.net/appuploader/...download.php)上生成证书和描述文件 3.ios开发者账号(我申请了一年688人民币,个人账号) 4.HbuilderX开发工具,用来封装(。...wgt)并开发 第二,申请ios的App ID和外包专用密码。...第五,放到App Store上 1.开发者账户登录https://Appstoreconnect.Apple.com/,选择我的应用,点击数字,创建一个新的应用。...如果app使用相册、扫描、麦克风等功能,一定要在HbuilderX的mainfest.json文件中描述清楚 3.填写完以上信息后,点击右上角的‘保存’。最后一步是构建版本。
一、发布前的准备1.计算机的windows10环境2.下载appuploader.exe工具,它可以在windows(http://www.appuploader.net/appuploader/download.php...)上生成证书和描述文件3.ios开发者账号(我申请了一年688人民币,个人账号)4.HbuilderX开发工具,用来封装(。...wgt)并开发第二,申请ios的App ID和外包专用密码1.开发者账号,登录developer.apple.com/account/res…申请ios的app ID(app的唯一ID) 2.1选择标识符并单击要创建的编号...第五,放到App Store上1.开发者账户登录https://Appstoreconnect.Apple.com/,选择我的应用,点击数字,创建一个新的应用。...附件:用手机录屏,这是你app的基本操作。如果app使用相册、扫描、麦克风等功能,一定要在HbuilderX的mainfest.json文件中描述清楚3.填写完以上信息后,点击右上角的‘保存’。
一、发布前的准备 1.计算机的windows10环境 2.下载appuploader.exe工具,它可以在windows(http://www.appuploader.net/appuploader/download.php...)上生成证书和描述文件 3.ios开发者账号(我申请了一年688人民币,个人账号) 4.HbuilderX开发工具,用来封装(。...wgt)并开发 第二,申请ios的App ID和外包专用密码。...第五,放到App Store上 1.开发者账户登录https://Appstoreconnect.Apple.com/,选择我的应用,点击数字,创建一个新的应用。...5)如果app使用相册、扫描、麦克风等功能,一定要在HbuilderX的mainfest.json文件中描述清楚 3.填写完以上信息后,点击右上角的‘保存’。最后一步是构建版本。
整理一篇自己在知乎上2018年发布的实用贴回答,得到了很多人的实用肯定。 有这个回答的原因是之前发现自己的iPhone上多出来了一个相册,名字为“来自我的Mac”。...一开始如无头苍蝇一样茫然,因为这个相册里的照片只能编辑、分享,不能删除,总感觉iPhone的存储被消耗了。...Note:如果是有类似“来自我的电脑”,这个是从windows系统同步的,只需在Windows上按照上述步骤操作即可。...如果是使用较新版macOS,你会发现iTunes已经没有了,而且官网也只有针对windows的下载链接,不要慌张和彷徨,因为新版macOS已经将iTunes的功能合并到了访达(Finder),所以手机链接...的照相图片库的按钮关掉。
使用对焦模式 8. 使用应用总结 9. 限制应用访问位置的时间和频率 10. 使用蓝牙限制应用程序 11. 使用低功耗模式 12....输入您的密码以解锁“iPhone”。 向下滚动并关闭实时活动。 这将阻止实时活动显示在锁定屏幕上,但您需要更进一步。...有关添加小部件、删除小部件和创建锁定屏幕的详细信息,我们有专门的 iOS 16 锁定屏幕指南。 Widgets 也可以在您的主屏幕上显示,这是 iOS 16 之前的一项功能。...4.关闭常亮显示(iPhone 14 Pro) 常亮显示不是 iOS 16 的功能,但它是相切的,因为它是在iPhone 14 Pro 和 Pro Max 中引入的,这是第一批预装了iOS 16...10. 使用蓝牙限制应用程序 当应用程序请求蓝牙时,您的 iPhone 会通知您,并且有很多应用程序需要蓝牙访问以进行位置跟踪、扫描 Chromecast 设备或其他不太有用的原因。
在 iOS 7 及更早版本上,使用了 gcc 的 libstdc++ 并位于/usr/lib/libstdc++.6.dylib....原始结果 我在从 iPhone OS 1.0 到 iOS 14.0 的所有主要 iOS 版本上运行了这个脚本。...5S iOS10.txt iOS 9.0 (13A344) iPhone 5S iOS9.txt iOS 8.0 (12A365) iPhone 5S iOS8.txt iOS 7.0.1 (11A470a...) iPhone 5S iOS7.txt iOS 6.0 (10A403) iPhone 3GS iOS6.txt iOS 5.0 (9A334) iPhone 3GS iOS5.txt iOS 4.0...编程语言的演变 通过在从 iPhone OS 1.0 到 iOS 14.0 的所有 iOS 主要版本上运行该脚本,我们可以看到 iOS 使用的编程语言的演变。
在iPhone中,可以直接用UIApp打开URL地址。...Subject=hello" ] ]; 与此同时,iPhone还包含一些其他除了http://或者mailto:之外的URL: sms:// 可以调用短信程序 tel:// 可以拨打电话 itms://...uicmd=show-purchased-playlist 可以打开iPod播放列表 video-player-event:// 可以打开iPod中的视频 ----...Previous IBOutlet变量的生命周期 Next 使用UITextFieldDelegate来隐藏键盘
iOS Mirror的使用 使用Mirror可以在不获取对象文件的情况下,知悉该对象所有的属性,不管是私有还是公开的。...self.pDic = ["hair": "black", "eyes": "black"] } } 随便定义三个类,Person -> Human -> Animal 这是他们的继承关系...而且还可以获取对象所继承的相关信息,看以下例子: let p = Person() var mir: Mirror = Mirror(reflecting: p) let baseType = Animal.self...直到为空,以下是打印信息:先打印Person类,再是继承的Human类信息,最后是基类Animal信息。...==================================" 如果你不想Mirror打印一个类所有属性的话,可以给类添加一个扩展遵循协议CustomReflectable:当对Person类使用
itemData = self.tableData[indexPath.row]; ZJFunc.unselectCell(tableView: tableView); } Cell自动高度 参见文章:iOS...设置tableViewCell的高度 代码中使用到的工具类 import UIKit class ZJFunc{ ///延迟执行方法 static func delay(delay...也可以根据这两个值的差来让他做点其他的什么事情 let space = maximumOffset-currentOffset; return space; }...CAKeyframeAnimation() animation.keyPath = "position.x" animation.values = [0, 20, -20, 10...animation = CAKeyframeAnimation() animation.keyPath = "position.y" animation.values = [0, 10
不过,WWDC 16 中,Apple 表示将继续在 iOS 10 和 macOS 10.12 里收紧对普通 HTTP 的访问限制。...但是坏消息是这个键在 iOS 9 中并不会起作用。 总结一下就是,对于 API 请求,基本上是必须使用 HTTPS 的,特别是如果你们自己可以管理服务器的话。...ATS 设定使用的组件iOS 9 HTTPiOS 10 HTTP备注 NSAllowsArbitraryLoads: NOUIWebView❌❌ WKWebView❌❌默认行为 URLSession❌❌...如果没有特殊的什么需求的话,尽早将UIWebView全部换为WkWebView会是明智的选择。 不得不说,Apple 使用自己现在的强势地位,在推动技术进步上的做的努力是有目共睹的。...尽快适配更进步和安全的使用方式,会是一件双赢的事情。 转自https://onevcat.com/2016/06/ios-10-ats/
一.SQLite的使用 采用SQLite数据库来存储数据。SQLite作为一中小型数据库,应用ios中,跟前三种保存方式相比,相对比较复杂一些。还是一步步来吧!....dylib与前者的区别暂时不知,两者应该差不多);在项目文件中头文件或者源文件中添加头文件#import "/usr/include/sqlite3.h" 第二步:开始使用SQLite: 1.打开数据库...使用前注意:如果不往数据库里面添加任何的表,这个数据库等于没有建立,不会在硬盘上产生任何文件,如果数据库已经存在,则会打开这个数据库。...这是因为数据库默认使用ascII编码方式。所以要想正确从数据库中取出中文,需要用NSString来接收从数据库取出的字符串。...二.FMDB的使用 github地址是https://github.com/ccgus/fmdb // 继承 # pod 'FMDB/SQLCipher' 1.FMDB的创建: NSString
领取专属 10元无门槛券
手把手带您无忧上云