网站建设项目报价,网站开发与设计结课论文,网站建设与维护是做什么,郴州高端网站建设这篇文章是 What’s New in Cocoa Touch / UIKit Session 201 的一些整理。【基于OC】 转自我的 Blog: Dannys Dream Drag Drop 新的交互方式 拖拽 Drag 需要 Drag 的对象要 add 一个 UIDragInteraction #xff0c;用法类似于 UIGestureRecognizer 。UIDragInteraction 有一个… 这篇文章是 What’s New in Cocoa Touch / UIKit Session 201 的一些整理。【基于OC】 转自我的 Blog: Dannys Dream Drag Drop 新的交互方式 拖拽 Drag 需要 Drag 的对象要 add 一个 UIDragInteraction 用法类似于 UIGestureRecognizer 。UIDragInteraction 有一个 UIDragInteractionDelegate 的代理可以提供数据浮起的动画和自定义的拖动时的动画。 Drop 接收 Drag 的对象的容器容器要实现一个 UIDropInteractionDelegate 的代理可以来根据拖入的对象调整当前的界面。 TableView, CollectionView, TextView, TextField, WebView 原生控件都支持 配合剪切板 UIPasteConfiguration 食用会更加。 这个功能手机上可以在 文件 这个系统 app 中体验里面的 tableview 和 collectionview 的 item 都是支持拖拽的。 File Manager UIDocumentBrowserViewController 多了一个文件管理的 VC默认里面会显示当前 app 权限以内的文件包括本地的和存在 iCloud 的【如果三方 app 在 info.plist 中声明了 UISupportsDocumentBrowser 或者 UIFileSharingEnabled 和 LSSupportsOpeningDocumentsInPlace 的话可以获得第三方 app 的文件】。 构造方法如下【该构造还提供了文件筛选的能力】 UIDocumentBrowserViewController* view [[UIDocumentBrowserViewController alloc]initForOpeningFilesWithContentTypes:[.txt,.pages,.pdf]];复制代码值得注意的是官方文档中提到在使用该 VC 时。 务必把文件管理里的 VC 作为应用的 根 VC不要把它放在 navigationtab 或者 split 视图中也不要通过模态的样式展现出来。有上述需求的话用 UIDocumentPickerViewController 来替代。由于文件可能被任何 app 中的 UIDocumentBrowserViewController 修改所以对文件的操作尽量通过 UIDocument 子类 或者 NSFilePresenter 和 NSFileCoordinator 对象来操作。新的 UINavigationBar 增加了大的标题栏【觉得并不好看啊】新增的 api控制后面的 vc 层级是否需要继续展示大的 title或者全部使用大的 title。可以在 Mail 的系统 app 中体验这个特性。 //声明大标题self.navigationController.navigationBar.prefersLargeTitles YES;//包含三种模式 aoto / always / never 后续 present 的view 是否需要大标题self.navigationController.navigationItem.largeTitleDisplayMode UINavigationItemLargeTitleDisplayModeAutomatic;复制代码增加了统一的 navigation 搜索栏不用再加在 tableview 的 header 中了。 self.navigationController.navigationItem.searchController复制代码现在 navigation bar 是独立的和你的 content vie 无关为了更好的处理这些系统 view 的布局的变化提供了 self.view.safeAreaLayoutGuide // auto layoutself.view.safeAreaInsets // 代码布局- (void)viewSafeAreaInsetsDidChange{//当布局变化的时候的回调
}复制代码UIScrollView 解决了 navigation vc 和 scrollview 的 contentInset 的冲突的问题现在 navigation vc 不在修改 contentInset 了。增加了 contentInsetAdjustmentBehavior 这个属性默认为 UIScrollViewContentInsetAdjustmentAutomatic ,可以用来自定义滑动时候的便宜效果。通过 adjustedContentInset 可以获取当前的偏移量。 TableView 的修改 滑动操作Row 增加了 UISwipeActionsConfiguration 用来处理滑动操作。UISwipeActionsConfiguration 通过 UIContextualAction 数组来初始化可以配置不同的动作左滑右滑等还能配置 UISwipeActionsConfiguration 的 performsFirstActionWithFullSwipe 【Bool】属性 来决定第一个事件是否响应完整的滑动。 新的分界线可以配置相对值和绝对值的 Inset self.tableView.separatorInsetReference UITableViewSeparatorInsetFromAutomaticInsets;复制代码Swift 4 和 Foundation 的更新 这里是 OC 版的我就不展开了KeyPath 的新类型还增加了 block 的 KVO 【然鹅 OC 并没有】。 系统级别的手势事件控制 AutoLayout 和 Scroll View class UIScrollView { var contentLayoutGuide: UILayoutGuide { get } var frameLayoutGuide: UILayoutGuide { get }} 动态类型 用于系统级别的调整大小获取动态的字体的大小。设计到 Auto Layout 的相关更新。 密码自动填写功能 场景是在 web 上登录账户之后点击下线 app 然后调整 appstore打开 app 输入密码这时候可以自动填写。【应该需要网页 / app 端的支持】这里没有具体展开有个专门介绍这个 session 【Introducing Password AutoFil】 Asset Catalogs 的调整 现在颜色也能放在 Asset Catalogs 中了更方便的使用广色域的颜色。代码里可以通过下面的方法获取。【swift 下面可以直接看到颜色心酸的 OC 啥都没】 UIColor *color [UIColor colorNamed:purple];复制代码可缩放大小的图片 图片用于不同尺寸的场合系统基本的 Dynamic type 缩放tab bar 的图片tabbar image 大的 size 障碍人士。【使用这个的话会默认启用】 提升 通过 UIScreen 的 maximumFramesPerSecond 可以获取当前屏幕的刷新率获取屏幕的刷新率增强滑动和动画效果。 Metal apps 可以更好的得到提升。 本地化 针对某些国家从右到左的阅读习惯的改变举得例子是 设置界面的反转。 That’s all当然这些是简单的介绍具体的还有见各个子 session详细的在官方的文档中均已更新。