那只好上证据了~ // 设置语音按钮的高亮图片 voiceButton.setImage(#imageLiteral(resourceName: "message_voice_sender_normal..."), for: .highlighted) 那知道原因之后就很好解决了 解决方案 方案一:设置按钮的高亮图片 将按钮的高亮图片与普通状态下的一致即可。...这里就再赘述了 方案二:adjustsImageWhenHighlighted = false 在UIButton中有这么一个属性 adjustsImageWhenHighlighted 查看官方文档的说明...并且该值的默认值为true 所以我们也可以将属性adjustsImageWhenHighlighted设置为false,不让系统自动帮我们设置高亮状态下显示的图片即可。...效果 完美 附上相关项目:Swift 3.0 高仿微信
前言 总结下 swift下的基础语法,里面涉及到:常量&变量、Swift中的数据类型、逻辑分支、循环、字符串相关、数组和字典、方法的书写调用等内容,考虑到阅读体验分多篇来展示,希望对大家学习swift...、UIButton、UIImageView的使用 UITableView的使用 UITableView的使用 单例 从相册选择照片或者拍照 ---- 一、纯代码创建应用根试图 func application...// 程序将创建的UIWindow对象赋值给该程序委托对象的window属性 self.window = UIWindow(frame:rect) // 创建ViewController...} 在Swift中,创建tableViewCell的方法可以分为两种创建tableView时候注册和需要使用时手动创建。先聊聊创建tableView的时候直接注册cell: myTb?....因为在Swift中,所有对象的构造器默认都是public,所以需要重写你的init让其成为私有的。 这样就保证像如下的代码编译报错,不能通过。 六、从相册选择照片或者拍照 ?
rss 阅读器,非常easy的代码。仅仅是为了学习swift语言而写。...64.0 : 0.0 // 获取到的屏幕的高度怎么也仅仅有self.view的高度。不是整个屏幕的高度了?...override func viewDidLoad() { self.title="网易Rss" let addButton = UIButton(frame...func onAddButtonClicked(sender: UIButton!)...// func tableView(tableView: UITableView!
,里面创建一些基本的UI控件,然后在viewDidLoad中调用: override func viewDidLoad() { super.viewDidLoad()...// 2.UIButton let myBtn:UIButton = UIButton(type: UIButtonType.Custom) myBtn.frame...,两种语言控件的属性是一样的,只是语法有些不一样而已,多写几个就会发现Swift都是一个套路.那好吧,简单的控件就不写了,接下来我们来写下UITableView // 5.UITableView...) { print("点击了单元格") } 好了,这篇文章的内容就到这里了,下一篇文章将会围绕UITableView,自定义UITableViewCell来写点可视化内容较强的东西...本人也是正在学习中,文章内容如有错误,还请指正,有需要优化的地方,也请帮忙指出,帮助大家共同进步
本系列文章都是以有OC基础来写的,所以注释不会写太多,对基础不够了解的同学可能不太适合,另外本系列文章不是以教程式的形式来写,是记录学习过程的,所以不会有多少讲解 OK,承接上一篇文章,这次开始UITableView...6EDD4AC9-47E3-401F-91A4-2DA836439787.png Demo开始之前,我们想想应该会使用到屏幕宽高等一些常用的值,在OC中,咱们可以使用PCH然后宏定义,然而在Swift中...ImageView和一个Label,虽然数据是死的,但是在Swift中,另外一个类是可以直接访问另一个类中的变量的(如果没做任何保护的话),所以我们在配置cell的时候是可以直接赋值的,这里就不弄了,然后我们看创建表视图那一块...学了这么几天,我发现Swift还是比较容易入手的,下篇文章我会用一个小的项目,本人是做室内地图SDK的,这次的小项目是仿我OC写的SDK Demo,使用Swift和OC混编,集成百度地图SDK和自己的室内...在下篇文章中会讲讲,Swift项目已上github:https://github.com/qingmomo/Swift-die OC版的demo在我们官网:http://www.innsmap.com
作为基本的ViewController,打开 Main.xib 将 File’s Owner的l类属性改为 Main(这样才干够将关联变量拖动到 Mian.swift )。...3、然后在Main.swift 中编写一下TableView 的数据源和代理的方法。这里我们用的是 自己定义的 Cell。...记得绑定(同步骤1),Add.xib UI例如以下: 为了在Main.swift 中接收到 Add.xib 中用户输入的信息,我们在 Add.swift 定义一个协议。...: Add.swift 中的关联变量 desc 是UITextView 类型的,UITextView 不像 UITextField 有 placeHolder ,所以这里我们引入一个 OC 写的 KCTextView...,由 KCTextView 取代 UITextView,swift 中引用 OC 写的 API easy,新建一个 .h 。
理解二进制在 Swift 中的演变 为了充分理解 Apple 的 Swift 团队在二进制目标和他们引入的一些新 API 方面采取的一些步骤,我们需要理解它们从何而来。...在后续的部分中,我们将调研 Apple 架构的演变,以及为什么二进制目标的 API 在过去几年中逐渐形成的,特别是自 Apple 发布了自己的硅芯片之后。...在 Swift 包中,那先能够以 binaryTarget[8] 被包含进项目的,能够在包中被引入任意其他目标。这相同的操作同样适用于 frameworks。...used "type": "executable", "variants": [ ] }, } } 需要做的最后一件事是将二进制文件添加到包中...,然后将它们作为变体添加到 info.json 文件中。
特征 ---- 为UIImageView,UIButton,MKAnnotationView的Categories添加了有关网络图像和高速缓存管理的Categories 异步图像下载器 异步内存+磁盘图像缓存...谁使用它 ---- 找出谁使用SDWebImage并将您的应用程序添加到列表中。 6. 交流 ---- 如果需要帮助,请使用stackoverflow。...常见问题 ---- 9.1 UITableViewCell与使用动态图像的大小尺寸 UITableView根据单元格的第一个图像集,确定图像的大小尺寸。...安装 ---- 在您的项目中使用SDWebImage有三种方法: 使用CocoaPods 使用Carthage 通过将项目复制到您的存储库中 10.1 使用CocoaPods安装 CocoaPods是Objective-C...并将目标设置为iOS 8+: platform :ios, '8.0' use_frameworks!
int yCount = 0; int xCount = RowCount; 15 if (ControlArry.Length < RowCount) //定义一列展示的数量大于总控件
,给中间留出一个+按钮的位置 自定义一个UIButton的分类HQButton+Extension,封装快速创建自定义按钮的方法 HQButton.swift extension UIButton {...// 设置动画一直保持转动,如果`iconImageView`被释放,动画会被一起释放 anim.isRemovedOnCompletion = false // 将动画添加到图层...所以如果当真用的时候要慎重! ---- 监听注册和登录按钮的点击事件 在HQVistorView里将两个按钮暴露出来,然后直接在HQBaseViewController中添加监听方法即可。...登录之后才显示别的,因此,我们可以将HQBaseViewController中的setupUI方法设置成fileprivate不让外界访问到,并且将setupTableView设置成外界可以访问,如果需要在登录后的控制器里面显示所需的样式...,先把要实现的主要目标先完成,然后再进行深层次的探究。
else { page = 3; } 条件表达式如果很长,则需要将他们提取出来赋给一个BOOL值 let nameContainsSwift = sessionName.hasPrefix("Swift...&& isCurrentYear if (isSwiftSession) { // Do something } 不推荐这样写: if ( sessionName.hasPrefix("Swift...(B) : (A)) 4.属性 1属性的命名使用小驼峰 推荐这样写: @property (nonatomic, strong) UIButton *confirmBtn; 属性的关键字推荐按照 原子性...□*confirmBtn; 5.方法 方法名中不应使用and,而且签名要与对应的参数名保持高度一致 推荐这样写: - (instancetype)initWithWidth:(CGFloat)width...在类的头文件中尽量少引用其他头文件 有时,类A需要将类B的实例变量作为它公共API的属性。
allNames = [ 0:[String](["UILabel 标签", "UITextField 文本框", "UIButton 按钮"]),...[indexPath.row] print("str\(str)") } // 设置单元格的编辑的样式 func tableView(_ tableView: UITableView, editingStyleForRowAt...{ return "确认删除" } // 单元格编辑后的响应方法 func tableView(_ tableView: UITableView, commit editingStyle:...[indexPath.row] print("str\(str)") } // 设置单元格的编辑的样式 func tableView(_ tableView: UITableView, editingStyleForRowAt...// Dispose of any resources that can be recreated. } } 下载demo:https://github.com/silencesmile/Swift_UITableView
所以在Swift5中,新增了一个枚举Result,使我们能够更简单、更清晰地处理复杂代码中的错误。...internal(默认):允许实体被定义模块中的任意源文件访问,但是不能被该模块之外的任意源文件访问。新建文件时默认为Internal。 fileprivate:将实体的使用范围限制在当前源文件内。...4,Swift文件内容如下: import UIKit class NormanPerson: NSObject { //在Swift代码中,将需要暴露给OC调用的属性和方法前面加上@objc...命名空间 命名空间(nameSpace)在C++、C#中是一个常见的概念,OC中是没有命名空间的概念的,但是在Swift中引入了命名空间的机制。...接下来我们将开启Swift进阶阶段的学习,加油~
Swift-MVVM 简单演练(一) Swift-MVVM 简单演练(二) Swift-MVVM 简单演练(三) 前言 这一篇主要写微博的首页布局,及MVVM模式的体会。...先看下接下来我们要实现的目标,见下图 主要就是将头部的视图(头像、昵称、会员图标、时间、来源、认证图标)及微博正文先显示出来再说。...添加到HQACell中 /// 头像的宽度 let AvatarImageViewWidth: CGFloat = 35 class HQACell: UITableViewCell { /...} /* 遍历字典数组,字典转模型 模型->视图模型 将视图模型添加到数组...status.attitudes_count)", for: .normal) } } 将viewModel传到bottomView的viewModel中 class HQACell
EasyNVR已经支持自定义上传音频文件,可以做慢直播场景使用,前两天有一个开发者提出一个问题:想把一个MV中的音频拿出来放到EasyNVR中去做慢直播。...经过我们的共同研究之后,终于想出一个办法,就是先将这个音乐提取出来,再添加进EasyNVR中。...我们采用的是ffmpeg命令行的方法拿到AAC数据,具体命令如下: ffmpeg -i input-video.mp4 -vn -acodec copy output-audio.aac 将获取的AAC...不得不说ffmpeg就是强大,ffmpeg是专门用于处理音视频的开源库,既可以使用它的API对音视频进行处理,也可以使用它提供的工具,如 ffmpeg,ffplay,ffprobe,来编辑你的音视频文件...如果大家对我们的开发及产品编译比较感兴趣的话,可以关注我们博客,我们会不定期在博客中分享我们的开发经验和一些功能的使用技巧,欢迎大家了解。
UILabel UITableView 背景色 tableView.backgroundColor = UIColor(hexString: "#f3f3f3", alpha: 0.6); 分割线 tableView.separatorStyle...UITableViewCellAccessoryType.DisclosureIndicator; 取消选中样式 cell.selectionStyle = UITableViewCellSelectionStyle.None; UIButton...secButton.setTitle("已评价", forState: UIControlState.Disabled); secButton.enabled = false; UINavigationBar(全局设置) Swift...NSForegroundColorAttributeName]; //大功告成 self.navigationController.navigationBar.titleTextAttributes = dict; 设置透明(Swift...UIBarMetrics.Default) self.navigationController.navigationBar.shadowImage = UIImage(); UISearchBar(全局设置) Swift
如果这是一个真实的app,有着真实流入的数据,这个界面最可能是一个UITableView或者UICollectionView来获取一个好的、结构化的展示行的方式。...因为我们没有数据,而且我的主要目的是演示如何构建动画,我就仅仅是保存一些Photoshop里设计的图片并手动将这些图片添加到界面上去,从顶部的箭头和“Dance Club”文本开始。...CGFloat windowWidth = self.window.bounds.size.width; // 将背景添加到界面上 UIImageView *backgroundView = [[UIImageView...我本可以懒一点,不将按钮做成一个真的UIButton,而是使用一个UIImageView,但我想演示如何为一个自定义的UIButton设置点击的和普通的图片。...接着我设置按钮的位置并将它添加到界面上。 这里是目前状态的界面,以及点击按钮时不同状态的演示。 我们UIControlStateHighlighted状态的图片只是将白色边框换成了白色的填充。
YX_UITableView_IN_UITableView - UITableview嵌套UITableView案例实践(仿淘宝商品详情页实现),项目讲解。...ZMaterialDesignUIButton - Swift Material Design UIButton。...答案选择切换页 - 将scrollview和tableview封装在一起,在初始的时候简单的将数据带上,就可以一页一页的左右来回滑动。...KYAnimatedPageControl - 除了滚动视图时PageControl会以动画的形式一起移动,点击目标页还可快速定位。支持两种样式:粘性小球和旋转方块。...TKSubmitTransition - 基于UIButton的登录加载,返回按钮转场动画组件及示例。
(很关键的一步) 模块化划分,每个模块对应自己的一个View,例如Demo2模块,View层里面有个Demo2View,将界面元素写到View中 ---- 知识1:如何传值(参数) //View + (...(很关键的一步) 模块化划分,每个模块对应自己的一个Model,例如Demo2模块,View层里面有个Demo2Model,将网络请求&&数据处理写到Model中 ---- 知识1:如何传值(参数) @...(或属性),如果是特殊的,直接在子类里面新增即可,无需添加到父类~ >控制器也可以使用继承,可以减少不少冗余代码 //基类控制器 @interface MNBaseViewController :...setupUI 获取数据 loadDatas,所以将这两个函数抽到基类MNBaseViewController 中 因为iOS中,tableView应该算最常见的控件之一,基本上大多数界面都会用它展示数据...,所以Controller中的tableView代码也不会多。
(暂时), //以免将此功能添加到我们的应用程序全局使用UIButton中。...} 当然,如果最终将参数添加到设置API中,则需要将其转换为方法——但是对于更简单的用例,这种方式使用静态计算属性可能是不错的选择。...特别是如果与"Swift:将子视图控制器用作插件" 中的便捷API的稍加修改版本结合使用,我们现在可以在执行异步操作时轻松添加预先配置的加载视图控制器: class ProductListViewController...通过命名上述工厂方法makeStub,我们还可以清楚地知道此代码仅用于测试,因此将来不会意外将其添加到我们的主要应用程序目标中。...如果您想了解有关此类对象以及我通常使用工厂模式的其他方式的更多信息,请查看"Swift:使用工厂模式以避免共享状态","Swift:使用工厂进行依赖注入"和"Swift: 使用懒加载属性"。
领取专属 10元无门槛券
手把手带您无忧上云