高仿系列————主页界面(storyboard)

Swift iOS高仿抖音App实战项目:含个人主页、视频播放与IM聊天模块 为了实现抖音风格的个性化设计,我们需要开发一些自定义UI组件,如头像、背景图、视频播放按钮等。在抖音等短视频应用中,播放器不仅仅是播放视频,还需要提供丰富的交互功能,如播放/暂停按钮、进度条、缓冲状态等。本节将介绍如何构建一个功能完整的自定义播放器组件。通过本章的学习,我们掌握了使用 AVFoundation 构建视频播放器的核心技能,包括基础播放控制、进度条与缓冲状态实现,以及性能优化策略。这些内容不仅适用于抖音类短视频应用,也为后续章节中视频列表滑动切换、消息视频播放等场景打下了坚实基础。 阅读详情

抽了点下班的空闲时间,把昨天决定的高仿系列起了个头。用一句话来形容,一切都不是那么简单。

看似很简单的一个过程,当自己一步一步去做的时候才发现并不是这么容易。首先新建了一个项目工程,我做的第一件事就是把相关的图片资源导入到项目中。然后你需要新建文件夹,最好是的文件夹目录和虚拟文件夹对应,便于以后查找。光是一些配置工作,比如第三方库,常用分类等就用了个多小时。还是因为自己平时没有把常用的归类,整理,到了用的时候,再去到处找。

然后把项目的AppIcon和LanuchImage搞定至少就花了半个小时,因为要涉及到不同分辨率下的适配,所以一个一个图片的区适配。在适配AppIcon的时候还是不是会出错。后来自己总结出,尽量从finder中的Images.xcassets拖进去。这样不会报错。

适配完了基本的图片,现在就该动手写界面。这里遇到了一个比较值得争论的问题。是自己该手动写代码布局,还是通过storyboard。自己最终决定用storyboard试一试,每一种方式都不是那么简单。以前自己布局都是通过代码来写。想起是比较痛苦的,需要不断的去调试位置,CMD+R。选择Storyboard还是因为见效果。可是有一个非常大缺点,如何重用。每次都从storyboard开始加载,这样是不是不太灵活。

最终还是把界面搞好了。手写的tabbar,上边的滑动用lable实现,现在还没有加滑动的效果,这个应该不难。中间的视图是一个scrlolView,可以左右切换视图。

还是总结一下小技巧:

1、storyboard中,可以多次添加UIView设置器背景颜色,来区分个个视图。虽然可以通过shift+control+A 可以看到层次,但是调试的时候更为直观

2、添加图片的时候先将图片资源复制到imageasset中,然后再去find中的imageasset拖进来。

3、代码布局虽然耗时,但是灵活,而且好的可以重用。用storyboard的方式不知道比较好的实现重用。

4、关于自定义tabbar自己使用了比较简单方法。具体详见代码。

最后附上最终效果图


代码下载:https://github.com/kingcodexl/Demo


定时器(PWM输出)触发ADC采样(DMA)——STM32CubeMX 已知 Tclk 为 84MHz , 我们需要 Tout 为 200ms 即 200000us , 不妨先让PSC为 839, 带入上述公式可得 ARR = 19999. 这样算出来之后ARR和PSC都在0~65535的范围, 则可以使用这组参数。例如,如果时钟频率为1MHz,并且PSC设置为1000,则实际的定时频率将为1kHz。当重装载值(Period 或 ARR)设置为 500 时,意味着定时器需要计数 500 个时钟周期才会触发中断。例如,如果时钟频率为1MHz,则Tclk为1微秒。 阅读详情

相关推荐

Claude Code 完整学习笔记

Claude Code 学习笔记摘要 Claude Code是Anthropic推出的智能编码工具,基于Claude Opus 4.5模型构建,提供跨平台支持(终端/VS Code/JetBrains/Web等)。核心功能包括: 代码库理解与多文件编辑 命令执行与开发工具集成 智能体协作开发流程 安装要求Node.js≥18,提供原生/Homebrew/npm等多种安装方式,支持环境变量配置API访问。基础交互模式包括会话管理、文件操作和代码审查等功能,可自动读写文件并执行精确修改。 (149字)

虚心若愚 812

StoryBoard布局注意事项

StoryBoard布局注意事项  对于一个懒人来说,相对于代码写界面,我更喜欢使用可是化布局,可以实时看到,可是终究还是代码执行,所以很多东西还需要在代码中去做,所以我还是鼓励打家多用代码编写界面。 1.生命周期注意事项 不要在Controller的viewWillLoad中去使用来自于可视化布局布局和尺寸(特别是frame或bound) 原因:在这几个方法中,可视化布局的约束并没有生效...

小桥流水哗啦啦,iOS Coder 哒哒哒 1091

【Python Turtle合集】有趣好玩的代码当然要分享给大家啦~(皮卡丘、玫瑰花、小黄人......)

前言 🚀 作者 :“程序员梨子” 🚀 **文章简介 **:本篇文章主要是写了利用Turtle库绘制四种不一样的图案的小程序! 🚀 **文章源码免费获取 : 为了感谢每一个关注我的小可爱💓每篇文章的项目源码都是无 偿分享滴💓👇👇👇👇 点这里蓝色这行字体自取,需要什么源码记得说标题名字哈!私信我也可! 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 正文 今天给大家介绍一个好玩儿的库,嘻嘻! Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵

TZ45678的博客 3万+

iOS-界面搭建鼻祖_九宫格算法

搭建九宫格的步骤:明确每一块用的是什么view明确每个view之间的父子关系先尝试逐个逐个添加格子,最后考虑使用for循环加载app数据,根据数据长度创建对应个数的格子添加格子内部的子控件给格子内部的子控件装配数据效果图: 代码:- (void)viewDidLoad { [super viewDidLoad]; //搭建界面-九宫格!! #define kAppViewH 80

极客学伟的技术分享社区 3577

【解决方案】使用transformer指定显卡后,模型依然加载到默认第1张显卡上

按理说指定了环境变量为后面几张显卡,模型会自动加载到我们指定的显卡上。可是查看gpu使用情况,发现还是加载在了第一张显卡上,这是为啥呢?

m0_56745306的博客 2441

Xilinx Blockset Counter计数器模块使用及参数配置

本文详细介绍了Simulink中Xilinx Blockset库Counter模块的使用以及参数说明。

白码王子小张的博客 1094

ios 集合视图(九宫格布局)

利用UIViewController,UIView,UICollectionViewCell,通过重写UICollectionViewDelegate,UICollectionViewDelegateFlowLayout, 协议的一些方法实现(以及UICollectionViewDataSource) 1,在RootViewController里面 //设置代理 self.rt

zq627240999的专栏 1690

3D iToF深度分辨率测量

本文展示了RGB-D传感器在三维测量中的高精度表现。标靶深度图显示其具备清晰、低噪、无干扰的特性,点云数据完整度高且轮廓分明。该技术已成功应用于物流(体积测量误差<1%)、工业(高反光部件装配检测)和农业(果蔬成熟度分级)等领域,验证了其硬件和算法的可靠性,能够满足不同场景下的三维测量需求。

dream it possible 252

高仿百度糯米iOS,版本号:5.13.0

高仿百度糯米iOS版,版本号:5.13.0 iOS技术交流群:112365317 github链接:https://github.com/lookingstars/nuomi 如果你觉得不错,欢迎star 哦 注: 百度糯米官方版:采用少量的xib文件 + 大量的纯代码方式开发的。 高仿糯米版本:采用storyboard创建界面为主方式来开发,跟官方版做

仰望 星空的专栏 2990

【MATLAB代码】二维平面的TOA定位,GDOP(几何精度因子)和CRLB(克拉美罗下界)计算与输出

本文介绍了一个MATLAB程序,用于计算二维定位场景中的几何精度因子(GDOP)和克拉美罗下界(CRLB)。该程序针对单目标和四个锚点配置,通过网格扫描法计算空间各点的GDOP分布,并以等高线图可视化展示。程序还可计算特定位置的理论定位精度下限(CRLB),输出X/Y方向标准差和GDOP值。核心算法通过构建几何矩阵和费舍尔信息矩阵实现,考虑了测量误差影响,并处理了特殊位置情况。程序提供了完整的源代码和参数修改说明,适用于定位系统精度分析。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 803

052、联发科Imagiq HyperEngine架构适配:天玑9000/9200的ISP多核并行调度与Tuning Toolkit调优案例

摘要: 项目组在适配联发科天玑9200的Imagiq 890 ISP架构时,遇到多摄预览功耗过高、帧率不稳等问题。通过分析多核调度机制,调整辅核QoS通道、优化AI-ISP协同模式(采用FREERUN+运动补偿),并利用Tuning Toolkit的Pipeline Viewer动态分配负载,最终降低功耗30mA、提升画质。关键经验包括:避免多核带宽冲突、合理配置动态时钟策略,以及统一校准参数版本管理。天玑9000/9200的HyperEngine架构需优先理解多核协同逻辑,再针对性调优,否则易引发场景兼容

zzfmlxs的博客 36

高仿百度糯米iOS

cell下拉点击(作者:拥月而眠) 利用auto layout实现cell的详情页面布局,通过点击事件来实现这个重新刷新界面的效果。 高仿百度糯米iOS(作者:yangwang) 高仿百度糯米iOS,版本号:5.13.0; 高仿百度糯米iOS采用以storyboard创建界面为主的方式来开发, 跟官方的纯代码 少量的xib方式以作区别。 tabl

Vic 1205

PCB板设置20H 原则理解

20H原则是PCB设计中抑制EMI辐射的关键方法,要求电源层比相邻地层内缩20倍介质厚度(20H)。在四层板中实现20H原则需采用S-G-P-S层叠结构,确保GND与PWR紧邻。具体步骤包括:确定GND-PWR间介质厚度H,计算20H值(通常80-120mil),并在设计软件中将电源层四周内缩20H,同时保持地层完整不内缩。注意避免常见误区,如混淆介质厚度、地层内缩等。该原则能有效限制边缘场辐射,降低EMI干扰,是四层板EMC设计的重要规范。

qq_37999850的博客 692

Panuon开源界面库环境配置并手写VS2019高仿界面

资源可以分为静态资源或动态资源进行引用。分别是通过使用 StaticResource 标记扩展或 DynamicResource 标记扩展完成的。StaticResource的用法:通过替换已定义资源的值(x:Key)来为 XAML 属性提供值。这里添加静态资源就是可以对单个控件的样式单独控制,定制化。为后面的控件样式所用。

Zy100Papa的博客 1233

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

iOS高仿百度糯米,版本号:5.13.0

高仿百度糯米iOS版,版本号:5.13.0 github链接:https://github.com/lookingstars/nuomi 如果你觉得不错,欢迎star 哦 注: 百度糯米官方版:采用少量的xib文件 + 大量的纯代码方式开发的。 高仿糯米版本:采用storyboard创建界面为主方式来开发,跟官方版做区别。 美团官方版:storyboard创建界面为主方

你有故事,我囿酒 1013

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

iOS高仿app源码:纯代码打造高仿优质《内涵段子》

iOS高仿app源码:纯代码打造高仿优质《内涵段子》收藏下来 字数1950 阅读4999 评论173 喜欢133 Github 地址 https://github.com/Charlesyaoxin/NeiHanDuanZI 介绍: 花了不太到两周的闲余时间模仿了一下今日头条旗下的iOS端app内涵段子,如果喜欢的话请前往我的Github点个星。(8.30-9.11) 这个项目是用OC...

weixin_30520015的博客 304

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

高仿人寿保险界面

第一步 首先导入第三方 gd 第二步 创建3个继承于UIViewController的类 分别为 oneViewController twoViewController threeViewController 第三步 在ViewController.m里 viewDidLoad [self createTabbar]; 其次代码块 -(void)createTabbar{ NSArra...

Py88888的博客 1203

再造 “手机QQ” 侧滑菜单(二)——高仿左视图

代码示例:https://github.com/johnlui/SwiftSideslipLikeQQ 本篇文章中,我们将一起使用 Auto Layout 高仿手Q的左侧视图,力争达成从布局到动画的全面类似。由于实现过程繁复,本文将主要讲述思路和心得体会,将不再大段大段地粘贴代码。 手Q左视图的展现方式 细部动画 仔细观察...

weixin_33790053的博客 171

一文吃透 Effect 结构化并发:forkChild、forkDetach、forkScoped 三大纤维 API 完整指南

**effect-smol** 是 Effect v4 的核心库与实验性代码仓库,其中"结构化并发(structured concurrency)"是它最核心的能力之一:通过 `forkChild`、`forkDetach`、`forkScoped` 三个 fork 系列 API,你可以把耗时任务派发到独立纤维(Fiber)上并行执行,同时确保后台任务不会"失控泄漏"。本文将用新手友好的方式,带你

gitblog_00253的博客 437

iOS高仿app源码:10天时间纯代码打造高仿优质《内涵段子》

Github 地址 https://github.com/Charlesyaoxin/NeiHanDuanZI 介绍: 花了不太到两周的闲余时间模仿了一下今日头条旗下的iOS端app内涵段子,如果喜欢的话请前往我的Github点个星。(8.30-9.11) 这个项目是用OC编写,如果有的朋友已经下载下来看了这个项目, 就会意识到这个项目没有一个storyboard或者是nib,不是因

努力,可能成功!放弃,注定失败! 2441

高仿糯米iOS客户端应用项目源码

注:采用cocoapods管理第三方库,请双击nuomi.xcworkspace启动工程。不要双击nuomi.xcodeproj启动,否则会提示“library not found for -lPods-AFNetworking”注 百度糯米官方版:采用少量的xib文件 + 大量的纯代码方式开发的。 高仿糯米版本:采用storyboard创建界面为主方式来开发,跟官方版做区别。 美团官方

chenhaimeimeng的博客 654

高仿Windows Phone QQ登录界面实例代码

给 TextBox文本框前添加图片 扩展PhoneTextBox:添加一个类“ExtentPhoneTextBox”继承 PhoneTextBox ,在“ExtentPhoneTextBox”类中添加属性项:  代码如下: public class ExtentPhoneTextBox : PhoneTextBox     {         ///         ///

527

高仿QQ即时聊天软件开发系列之三登录窗口用户选择下拉框

上一篇高仿QQ即时聊天软件开发系列之二登录窗口界面写了一个大概的布局和原理 这一篇详细说下拉框的实现原理 先上最终效果图 一开始其实只是想给下拉框加一个placeholder效果,让下拉框在未选择未输入时显示一个提示字符串。由于Background对ComboBox无效,所以直接通过Background来实现是不行了。需要重新写ComboBox的模板,也就是Template,自定义一个模...

weixin_34355715的博客 150

高仿爱鲜蜂购物应用源码

项目为爱鲜蜂,一款电商APP,使用语言Swift2.0,开发工具Xcode7.0.1. 项目为纯代码开发,没有使用XIB和StoryBoard.开发周期大概为2个月左右(工作闲暇之余). 数据都是本地数据,辅助开发软件:PhotoShop CS6(图片处理),Charles(抓包工具). 写的比较匆忙,很多地方无法尽善尽美,如果有建议和可优化的地方可在文章底部留言,我会一一查看的

tianyahala的博客 2143
上一篇: 文章标题
下一篇: 巨坑。OC 中引用头文件#import注意事项 “”和<>
kingcodexl
博客等级 码龄12年 18粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值