首页
学习
活动
专区
圈层
工具
发布

在Swift中创建可缩放的图像视图

在本教程中,我们将建立一个可缩放、可平移的图像视图来实现这一功能。 计划 他们说,一张图片胜过千言万语--但它不一定要花上一千行代码!对于我们的可缩放图像视图,我们要做的是让它成为一个可缩放的视图。...medium.com/media/afad3… 在commonInit()中,我们将图像视图居中,并设置它的高度和宽度,而不是把它固定在父视图上。这样一来,滚动视图就会从图像视图中获得其内容大小。...设置滚动视图 我们需要实际设置我们的滚动视图,使其可缩放和可平移。这包括设置最小和最大的缩放级别,以及指定用户放大时使用的UIView(在我们的例子中,它将是图像视图)。...我们将通过在我们的类中添加imageName字符串,并在字符串改变时更新UIImageView来实现。...试试平移和缩放(如果你使用的是模拟器,按住 "option "键)--你会对你的图像有一个全新的视角 以编程方式初始化视图 在使用界面生成器时,这很好--但如果你想以编程方式初始化视图呢?

8.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在 Swift图表中使用Foundation库中的测量类型

    在 Swift 图表中使用Foundation 库中的测量类型 在这篇文章中,我们将建立一个条形图,比较基督城地区自然散步的持续时间。...我们将使用今年推出的新的Swift Charts框架,并将看到如何绘制默认不符合Plottable协议的类型的数据,如Measurement。...of External Types),如果Swift Charts在未来添加了这种一致性,它可能会被破坏。...只是在与原始值转换时要使用相同的单位,这一点很重要。 我们现在可以更新我们的图表,以使用我们的自定义Plottable类型。...我们收到的值是使用我们在Plottable一致性中定义的初始化器创建的,所以在我们的案例中,测量值是以分钟为单位提供的。但我相信对于这个特定的图表,使用小时会更好。

    3.6K20

    在 Swift 图表中使用 Foudation 库中的测量类型

    虽然我们可以记住我们在创建测量时使用了小时 hours,但这并不理想。...Conformances of External Types[3]),如果 Swift Charts 在未来添加了这种一致性,它可能会被破坏。...只是在与原始值转换时要使用相同的单位,这一点很重要。 我们现在可以更新我们的图表,以使用我们的自定义 Plottable 类型。...我们收到的值是使用我们在 Plottable 一致性中定义的初始化器创建的,所以在我们的案例中,测量值是以分钟为单位提供的。但我相信对于这个特定的图表,使用小时会更好。...最后的结果是在X轴上显示以小时为单位的格式化持续时间。 你可以从我们的 GitHub repo 中获得这篇文章中使用的项目的完整 示例代码[4]。

    3.3K30

    图形编辑器基于Paper.js教程21:在画布中创建一个不随视图缩放的矩形,并固定在视图的位置,标尺功能的实现

    在图形编辑器中,一般都会有标尺的功能,标尺工具,能够让用户建立清晰的坐标系,能够知道原点在那里,并且能够大致估算出,尺寸,距离,和当前光标所在的位置。...,圆是最容易实现的,因为,使用缩放比计算半径就可以啦。...矩形就稍微麻烦一些,视图缩放后需要对矩形 进行反缩放,才能保证大小。 这还不算难,难点在计算视图缩放后,矩形应该移动多少才能保持在屏幕的固定位置。...在视图缩放后,让矩形在视觉上 不改变大小, 核心代码如下: function afterZoom() { var currentZoom = paper.view.zoom; var desiredSize...(rectCenter); paper.view.scale(delta, viewPosition); // 视图缩放后,使用视图坐标,再转换成项目的坐标,重新设置矩形中心点坐标,齐活 var newRectCenter

    45810

    macOS 开发基础教程视频 - 理解bounds本质

    在macOS 开发基础教程视频课程的NSView章节中,解释了关于视图的frame和bounds的坐标参照系统,限于授课经验与课程时间,感觉对NSView的bounds属性,表述的不够深入,希望通过本文帮助观看课程的同学加深对...可是一旦遮盖起来,你发现自己都无法观看了,这时候你想到了一个聪明的办法:在遮盖上开启一个矩形的窗口,透过这个窗口,就可以看到遮盖下面的壁画(NSView)了,如你所料:这个矩形的窗口,就是bounds...下面我们通过一个示例来加深对bounds的理解和使用 创建一个Mac application 项目工程,从控件库中拖动一个customView到ViewController中,并搭建UI界面大致如下:...UI界面 在customView中添加随意几个box视图,并设置颜色(为了观看效果)。...添加自定义类CustomScrollView.swift文件(继承自NSView)来管理customView控件 在Storyboard中设置customView的类属性为:CustomScrollView

    1.2K40

    教程 | 如何使用Swift在iOS 11中加入原生机器学习视觉模型

    一些第三方的 Swift AI 系统已开始在几个应用程序中占据一席之地,但这类框架从未成为开发上的主流。...苹果公司新的机器学习 API 使开发人员得以轻松访问 iOS 应用程序中的标准化模型。当你将.mlmodel 文件拖动至应用程序中时,Xcode 便会为其自动创建 Swift 封装。...随着格式的增多,在未来人们应该能为各种用例得到经过训练的模型。 ? 这其中存在一个 bug:即使项目可编写,编辑器仍会认为不存在 Swift 包装器。 接下来打开 ViewController 文件。...即使在本节出现了错误,这个项目仍需进行编写。这是我在使用 Xcode 9 测试版时,短时间内所发现的许多 bug 之一。 ?...在 bug 修复之前,请不要在 Xcode 9 中尝试这个动作,因为它会对依赖链产生巨大影响。你只需在 Xcode 的早期版本中打开 Xcode 项目,必要时选择复制项,而后点击确认即可。 ?

    2.7K50

    【从零开始用Swift开发一个iOS应用(仿微博)】开篇-1. demo上手体验

    view.addSubview(v) } } 效果如下所示:一个黄色矩形在左上角 ?...三、上述示例swift与object-c的语法对比 3.1 创建视图类比 - Swift: UIView(XXX:) - OC: [[UIView alloc] initWithXXX:] 类名()...当编译器提示的时候,再添加,会对语境有更好的机会; 原因:闭包(类似于 OC block)需要使用self。 3.4 不需要; 除非多行代码语句写在同一行中。...,不需要使用`:` OC: @selector 3.7 调试对比 Swift: print(xxx) 效率高,log中不包含时间,用#function来打印当前执行的方法 OC: NSLog,用__FUNCTION...如下图所示,我在注释中添加了MARK、TODO、FIXME标签前缀,这些特殊标记的锚点菜单将会显示在导航栏上,点击菜单即可跳转到对应注释的地方,非常方便。 ?

    5.3K31

    手把手带你撸一个网易云音乐首页(二)

    在接下来的内容中,我会尽我所能与大家分享这个问题的解决思路。...iOS 原生或第三方开源库有许多可以在 Swift 中解析 JSON 的方式,你可以使用你喜欢的那个,例如 SwiftyJSON,HandyJSON 等,在这个工程中,我坚持使用原生的 Codable...当然在 Swift 中要实现多种类型并且可以轻松切换,最好的方式还是使用枚举,那么就让我们开始构建 ViewModel 吧!...但是,由于我们希望在表视图中都使用相同类型的数据,所以我们需要将这些 case 都抽象出来,定义一个单独的公共类,它将决定所有属性。...在 swift 中,我们可以使用协议扩展 extension 为协议提供默认值, 这样我们就不必为每个 item 的 rowCount 赋值了,省去一些冗余的代码: extension HomeViewModelSection

    1.6K20

    XcodeXcode 9 的全新功能您会喜欢的工具。内建 Interface BuilderXcode IDE

    基于 Swift 4 的兼容性,Xcode 9 使用同一个编译器来构建已有的 Swift 3 代码和最新的 Swift 4 代码。从此,数据迁移的节奏,您说了算。...新的 Swift 4 编译器现已兼容 Swift 3 代码。您可以轻松地在眨眼之间迁移数据至 Xcode 9:在您的 app 中选择准备转移至 Swift 4 的部分,余下部分可稍后再进行迁移。...当您编写新界面时,Assistant 编辑器会在拆分窗格中直观地呈现相关源代码。只需拖动鼠标,即可将 UI 控件与实现代码关联起来。...版本编辑器拆分窗格,以显示同一文件的两个不同版本。当您查看拆分编辑器视图的时间线时,差异会突出显示。...源代码视图 通过数据点深入分析、进行排序以找出最消耗 CPU 的方法,并直接在 Instruments UI 中查看代码以查明问题所在。

    9.5K30

    iOS之深入解析Xcode 13正式版发布的40个新特性

    二、通用 Xcode 13 包括对 Swift 并发编程的原生支持、对 Xcode Cloud 持续集成和交付的支持、对 Git 拉取请求的集成支持、使用 DocC 在 Swift 框架中创建和查看文档的能力...iOS 15 的应用程序中,可以使用属性检查器中的 localize 属性在非系统 UI 菜单命令上配置本地化的等效键选项。...(或编辑器拆分)中启用代码审查,默认情况下它会在内嵌演示中显示比较。...枚举自定义如何将性能测试的自定义指标的测量值与设置的基线进行比较; XCTest 现在能够在受支持的 iOS 设备上的 UI 测试中合成指针交互; Xcode 现在为在运行测试时崩溃的进程收集代码覆盖率数据...重载,而无需创建 XCTExpectedFailure.Options 实例; XCTest 现在能够在 watchOS UI 测试中合成 Digital Crown 旋转; XCTest 现在包括

    11K40

    iOS开发常用之网络

    Horizo​​ntalScrollCell - Horizo​​ntalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView中实现水片方向滚动视图。...MGSwipeTableCell - 另一个常见于很多应用中的UI组件,苹果应该考虑在标准的iOS SDK中加入一些类似的内容.Swipeable表格cell是这个pod的最佳描述,也是最好的。...LayoutTrait - swift一个小类库。做iPad多任务分屏适配的同学可以看一下。 HACursor - HACursor,是一个对横向ScrollView中的视图进行管理的UI控件。...教程 IBAnimatable.swift - 第三方开源库IBAnimatable可以帮助我们在Interface Builder和Swift Playground里面设计UI,交互,导航模式,...DisplaySwitcher.swift - 两个集合视图在不同布局(平摊和列表)间平滑切换.Yalantis出品。

    28.1K10
    领券