新天。为有牺牲多壮志,敢教日月换

[Swift通天遁地]九、拔剑吧-(16)搭建卡片页面:Card Peek/Pop动态切换界面

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10361020.html 
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

目录:[Swift]通天遁地Swift

本文将演示创建一个卡片页面,通过上下滑动进行页面的切换。

可以作为产品、酒店、旅游景点等的介绍页面。

首先确保已经安装了所需的第三方类库。双击查看安装配置文件【Podfile】 

1 platform :ios, ‘12.02 use_frameworks!
3 
4 target 'DemoApp' do
5     source 'https://github.com/CocoaPods/Specs.git'
6     pod 'expanding-collection'
7 end

根据配置文件中的相关设置,安装第三方类库。

GitHub项目:【Ramotion/expanding-collection】,下载并解压文件。

【DemoExpandingCollection->

【Constants】文件夹

【Helpers】文件夹

【ViewControllers】文件夹

【Views】文件夹

【Source】文件夹

->将选择的五个文件夹拖动到项目中。在弹出的文件导入确认窗口中,点击【Finish】

在左侧的项目导航区,打开故事板文件【Main.storyboard

选择故事板中的视图控制器,依次点击:

【Editor】编辑器->【Embed In】植入->【Navigation Controller】导航控制器

将集合视图控制器植入导航控制器。植入导航控制器。

打开检查器设置面板,点击属性检查器图标,进入属性设置面板。

【Status Bar:None,空白样式,隐藏顶部的状态栏。

点击故事板监听视图控制器,点击身份检查器图标,进入身份设置面板。

【Class】:DemoViewController

点击控件库图标,往故事板中插入一张图像视图

进入尺寸设置面板,依次设置图像视图的坐标和尺寸信息。

进入属性设置面板。

【Image】:BackgroundImage

往故事板中插入一个标签。设置标签控件的显示内容。

点击颜色右侧的下拉箭头,弹出颜色预设面板,选择设置颜色。

在左侧的项目导航区,打开应用程序的代理文件【AppDelegate.swift

需要在应用程序加载完成的方法中,对导航条的样式进行设置。

复制代码
 1 import UIKit
 2 
 3 @UIApplicationMain
 4 class AppDelegate: UIResponder, UIApplicationDelegate {
 5 
 6     var window: UIWindow?
 7 
 8     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
 9         // Override point for customization after application launch.
10         //清除导航条的背景图片
11         UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .default)
12         //清除导航条的阴影图片
13         UINavigationBar.appearance().shadowImage = UIImage()
14         //将导航条设置为透明
15         UINavigationBar.appearance().isTranslucent = true
16         
17         //初始化一个投影对象
18         let shadow = NSShadow()
19         //依次设置投影的距离和投影的颜色。
20         shadow.shadowOffset = CGSize(width: 0, height: 2)
21         //设置导航条标题的外观样式
22         shadow.shadowColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.1)
23         
24         //设置文字的颜色为白色
25         UINavigationBar.appearance().titleTextAttributes = [
26             NSAttributedString.Key.foregroundColor : UIColor.white,
27             NSAttributedString.Key.shadow: shadow
28         ]
29         return true
30     }
31 
32     func applicationWillResignActive(_ application: UIApplication) {
33         // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
34         // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
35     }
36 
37     func applicationDidEnterBackground(_ application: UIApplication) {
38         // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
39         // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
40     }
41 
42     func applicationWillEnterForeground(_ application: UIApplication) {
43         // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
44     }
45 
46     func applicationDidBecomeActive(_ application: UIApplication) {
47         // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
48     }
49 
50     func applicationWillTerminate(_ application: UIApplication) {
51         // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
52     }
53 }
复制代码

 

posted @   为敢技术  阅读(257)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示
哥伦布
12°
15:09发布
哥伦布
15:09发布
12°
多云
东北风
2级
空气质量
相对湿度
53%
今天
小雨
6°/21°
周五
多云
11°/23°
周六
中雨
16°/24°