swift开发笔记11

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea; min-height: 16.0px }
span.s1 { color: #ba2da2 }
span.s2 { color: #703daa }
span.s3 { color: #3e1e81 }
span.s4 { color: #4f8187 }
span.s5 { color: #d12f1b }
span.s6 { color: #272ad8 }

// 注意判断条件,

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

if let cell = sender as? UICollectionViewCell,

let indexPath = collectionView?.indexPath(for: cell),

let managePageViewController = segue.destination as? ManagePageViewController {

managePageViewController.photos = photos

managePageViewController.currentIndex = indexPath.row

}

}

}

// UIPageViewController 用法

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #3e1e81; background-color: #fffcea }
span.s1 { color: #ba2da2 }
span.s2 { color: #31595d }
span.s3 { color: #4f8187 }
span.s4 { color: #272ad8 }
span.s5 { color: #000000 }
span.s6 { color: #3e1e81 }

if let viewController = viewPhotoCommentController(index: currentIndex ?? 0) {

let viewControllers = [viewController]

setViewControllers (

viewControllers,

direction: .forward,

animated: false,

completion: nil

)

}

// 来自storyboard的VC,初始化方法

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #4f8187; background-color: #fffcea }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea; min-height: 16.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ba2da2; background-color: #fffcea }
span.s1 { color: #ba2da2 }
span.s2 { color: #703daa }
span.s3 { color: #4f8187 }
span.s4 { color: #3e1e81 }
span.s5 { color: #d12f1b }
span.s6 { color: #000000 }

fileprivate func viewPhotoCommentController(index: Int) -> PhotoCommentViewController? {

if let storyboard = storyboard,

let page = storyboard.instantiateViewController(withIdentifier: "PhotoCommentViewController")

as? PhotoCommentViewController {

page.photoName = photos[index]

page.photoIndex = index

return page

}

return nil

}

// UIPageViewControllerDataSource

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #703daa; background-color: #fffcea }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea; min-height: 16.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #31595d; background-color: #fffcea }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ba2da2; background-color: #fffcea }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #008400; background-color: #fffcea }
p.p7 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #4f8187; background-color: #fffcea }
span.s1 { color: #ba2da2 }
span.s2 { color: #000000 }
span.s3 { color: #4f8187 }
span.s4 { color: #703daa }
span.s5 { color: #272ad8 }

extension ManagePageViewController: UIPageViewControllerDataSource {

func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {

if let viewController = viewController as? PhotoCommentViewController {

guard let index = viewController.photoIndex, index != 0 else {

return nil

}

return viewPhotoCommentController(index: index - 1)

}

return nil

}

func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {

if let viewController = viewController as? PhotoCommentViewController {

guard let index = viewController.photoIndex, index != photos.count - 1 else {

return nil

}

return viewPhotoCommentController(index: index + 1)

}

return nil

}

/// MARK: UIPageControl

func presentationCount(for pageViewController: UIPageViewController) -> Int {

return photos.count

}

func presentationIndex(for pageViewController: UIPageViewController) -> Int {

return currentIndex ?? 0

}

}

// 初始化Selector

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ba2da2; background-color: #fffcea }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #4f8187; background-color: #fffcea }
span.s1 { color: #000000 }
span.s2 { color: #703daa }
span.s3 { color: #ba2da2 }
span.s4 { color: #4f8187 }
span.s5 { color: #31595d }

fileprivate extension Selector {

static let keyboardWillShowHandler = #selector(PhotoCommentViewController.keyboardWillShow(notification:))

static let keyboardWillHideHandler = #selector(PhotoCommentViewController.keyboardWillHide(notification:))

static let generalTap = #selector(PhotoCommentViewController.dismissKeyboard)

static let zoomTap = #selector(PhotoCommentViewController.openZoomingController(sender:))

}

// UIScrollViewDelegate

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #4f8187; background-color: #fffcea }
span.s1 { color: #ba2da2 }
span.s2 { color: #703daa }
span.s3 { color: #000000 }
span.s4 { color: #31595d }

func viewForZooming(in scrollView: UIScrollView) -> UIView? {

return myImageView

}

func scrollViewDidZoom(_ scrollView: UIScrollView) {

updateConstraints(forSize: view.bounds.size)

}

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #703daa; background-color: #fffcea }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #703daa; background-color: #fffcea }

时间: 2024-10-12 15:18:31

swift开发笔记11的相关文章

Swift开发笔记

Swift开发笔记(一) 刚开始接触XCode时,整个操作逻辑与Android Studio.Visual Studio等是完全不同的,因此本文围绕IOS中控件的设置.事件的注册来简单的了解IOS开发 1.新建一个Xcode项目,项目目录大致如图: 2.在Main.storyboard添加控件 首先要显示右侧的工具栏(Utilities),之后选择显示Object Library,就可以找到常用的一些控件了,然后添加几个控件到界面中 3.将控件和ViewController进行关联 此时要将Ed

Swift学习笔记(11)--类与结构体

类与结构是编程人员在代码中会经常用到的代码块.在类与结构中可以像定义常量,变量和函数一样,定义相关的属性和方法以此来实现各种功能. 和其它的编程语言不太相同的是,Swift不需要单独创建接口或者实现文件来使用类或者结构.Swift中的类或者结构可以在单文件中直接定义,一旦定义完成后,就能够被直接其它代码使用. 注意:一个类的实例一般被视作一个对象,但是在Swift中,类与结构更像是一个函数方法,在后续的章节中更多地是讲述类和结构的功能性. 1.类和结构的异同 类和结构有一些相似的地方,它们都可以

swift开发笔记14

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #703daa; background-color: #fffcea } span.s1 { color: #4f8187 } span.s2 { color: #000000 } span.s3 { color: #ba2da2 } span.s4 { color: #272ad8 } dotOne.transform = CGAffineTransform.i

swift开发笔记07

// 监听通知 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #fffcea } span.s1 { color: #703daa } span.s2 { color: #ba2da2 } span.s3 { color: #3e1e81 } span.s4 { color: #4f8187 } NotificationCenter.default.add

springmvc学习笔记(11)-springmvc注解开发之简单参数绑定

springmvc学习笔记(11)-springmvc注解开发之简单参数绑定 springmvc学习笔记11-springmvc注解开发之简单参数绑定 spring参数绑定过程 默认支持的类型 简单类型 pojo绑定 自定义参数绑定实现日期类型绑定 springmvc和struts2的区别 本文主要介绍注解开发的简单参数绑定,包括简单类型.简单pojo以及自定义绑定实现类型转换 spring参数绑定过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到contro

网页开发笔记【一】创建一个半透明的页面

近来正在温习网页制作,系列<网页开发笔记>记录本人在解决网页开发过程中遇到的问题以及解决方案. 半透明的页面在网页开发中使用的比较广泛,尤其在web app中,这种设计使用的地方更为广泛,本文记录这种半透明的页面的开发方法. 半透明页面常用于用户注册,这时候弹出一个页面能在不离开当前页面的情况下完成注册. 如百度的登陆界面所示. 我的处理方法如下: 首先在页面写一个div,这个div平时display设置为none,当需要的时候设置为display:block; 这个div(设其id为popu

【Kinect开发笔记之(二)】Kinect for windows发展历程

新版本SDK和旧版本的SDK完全兼容,如果您之前安装过旧版本的,可以直接安装新版本的SDK,但是如果您之前的开发版本是Beta版的,则需要卸载之后再安装新版本.在Kinect for Windows SDK 1.0版本中,SDK和示例文件是打包一起安装的.而在之后的版本,为了可以分别升级,微软把这两者分开独立为Kinect for Windows SDK和Kinect for Windows Developer Toolkit这两部分,所以需要分别下载安装, Kinect for Windows

张高兴的 Windows 10 IoT 开发笔记:使用 ADS1115 读取模拟信号

原文:张高兴的 Windows 10 IoT 开发笔记:使用 ADS1115 读取模拟信号 考虑到 Raspberry Pi 读取模拟信号是很烦人的事情,更何况是在没人玩的 Windows 10 IoT 下,所以准备正儿八经的写点东西. 需求:使用 Raspberry Pi 读取输出模拟信号的 MQ 系列气体传感器.(GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/ADS1115) 由于 Raspberry

[开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】

原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目,但是并没有像之前那样顺利的创建页面,而是弹出了一个错误窗口. 我的系统是win8专业版 64位 ,同时安装了VS2010和VS2012.然后我又试了一下VS2010,新建项目.新建网站等等,一切正常. 额,看来这个问题就是只和VS2012有关系了. 百度一番之后,找到了两篇文章: vs2012建立