自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 swift-实现collectionViewCell中文字“展开/折叠”效果

1、关键点:a.cell高度自适应b.自定义viewController实现代理,方便与cell交互,记录cell折叠/展开的状态进行展示

2023-03-06 16:57:00 632

原创 swift - 实现collectionViewCell高度自适应

1)设置layout的estimatedItemSize属性;2)为cell内部的view控件添加上下约束,保证竖直高度被撑满;3)重写preferredLayoutAttributesFitting方法,重新计算cell的高度

2023-03-01 16:40:52 2765

原创 Xcode升级到14以后,和cocoapods版本不兼容

当Xcode升级成14.2版本后,在项目的根目录下,执行命令:

2023-03-01 14:34:04 795

原创 解决:拖动xib控件到代码文件中,报错setValue:forUndefinedKey:this class is not key value coding-compliant for the key

报错截图:解决方法:步骤1:拖拽控件 步骤2:输入相关属性

2022-06-28 13:43:02 351

原创 iOS:xib文件拖拽控件,添加到代码文件中

步骤1:同时打开xib文件和代码文件,打开方式如下:步骤2:选中需要添加到代码文件的控件,通过New Reference Outlet属性进行拖拽

2022-06-28 10:05:28 1388

原创 解决:iOS开发,kvc的model获取不到值

解决方案:在model的成员变量前添加“@objc”关键字。

2022-06-25 19:27:41 441

原创 解决:Thread 1:[<*>setValue:forUndefinedKey]:this class is not key value coding-compliant for the key *

问题:运行程序崩溃,报错:“Thread 1: [ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key.”,截图如下:原因:在kvc映射中,映射的字段名和个数不一致导致的。解决方案:复写“func setValue(_ value: Any?, forUndefinedKey key: String)”方法。..................

2022-06-24 17:16:47 2475

原创 解决:Argument type ‘String‘ expected to be an instance of a class or class-constrained type

问题代码:解决方案:将 AnyObject类型 换为 Any类型,如下:

2022-06-22 17:23:58 1085

原创 解决“Thread 1: “-[*.CollectionNormalCellView isSelected]: unrecognized selector sent to instance **”

问题:使用xib文件创建“自定义UICollectionViewCell类:CollectionNormalCellView”时,出现崩溃,控制台打印信息如下:解决方案:进入xib文件 -> 选中控件 -> 设置Custom Class(如果自定义了,设成自定义cell;如未自定义,就设为UICollectionViewCell),操作路径如下:......

2022-06-20 17:25:20 728

原创 Xcode 解决模拟器运行(半屏)不满屏的问题

问题:运行程序,发现在模拟器中,页面只在中间区域显示,上部和下部都黑屏了。解决方案:设置Launch Screen File,路径如下:项目名 -> TARGETS(项目名) -> General -> App Icons and Launch Images -> Launch Screen File -> 选择Main或LaunchScreen。最终效果:满屏显示成功...

2022-03-23 09:53:47 3153 1

原创 Xcode iOS 工程目录结构解析

新建一个iOS项目,工程目录如下:

2022-02-23 16:07:16 2418

原创 swift - 解决键盘遮挡tableView中输入框的问题

核心思想:改变tableView控件的显示高度解决步骤:步骤一(监听键盘“出现”和“遮挡”事件):创建TableViewController.swift文件,在其中创建tableView控件,并监听键盘“出现”和“遮挡”的事件:“NotificationCenter.default.addObserver()”,同时要记得在实例对象销毁时删除对应的监听者:“NotificationCenter.default.removeObserver()”。import UIKitclass Ta

2022-02-18 09:45:17 1888

原创 swift - 实现tableViewCell高度自适应(随cell内部textView高度的变化而变化)

实现思路:1)设置cell的高度为自动计算:UITableView.automaticDimension2)为cell内部的view控件添加上下约束如图所示,当cell高度自动计算,且约束添加成功时,cell竖直方向被撑满,这样cell的高度就会随着view控件的高度变化了 。实现步骤:步骤一(自定义tableViewCell,设置约束!!!这里只使用一个label标题和一个textView模拟):创建TableViewControllerCell.swift文件,并添加如下

2022-02-17 11:17:22 5072

原创 swift - 解决UITableViewCell复用机制下,内部view控件出现重叠的问题

问题描述:开始tableView显示正常,滑动几次后,cell内部的view控件出现重叠,如图所示: 重叠原因:这是由于,我在代码中,把cell中view控件的添加方法cell.addSubView(view控件)写到了tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 方法中。在cell的复用机制下,当滑动tableView时,...

2022-02-16 19:55:44 1559

原创 swift - UITableViewCell复用机制的使用步骤

前言:UITableViewCell的复用机制是指,只创建一定数量的cell,然后将它们储存起来,在滑动屏幕的过程中,循环重复使用这些cell。这样做既避免了储存cell时对内存的消耗,又避免了频繁创建和销毁cell时对性能的影响。实现方法:自定义tableViewCell类、注册cell复用池、调用复用池中的cell步骤一:创建Cell.swift文件,让该类继承TableViewCell,代码如下:import UIKit// MARK: - 自定义TableViewCell,以便使用

2022-02-16 18:59:17 1755

原创 swift - 实现TextView高度自适应

实现思路:使用UITextViewDelegate代理中的“textViewDidChange()方法”实现。实现方法:步骤一:创建TextViewAdapt.swift文件,在其中添加TextView控件,并设置textView.delegate =self(一定要设置好代理,否则不生效!!)。import UIKitclass TextViewAdapt: UIViewController { private var label = UILabel() priva.

2022-02-13 14:12:21 1512

原创 iOS - Xcode工程可以运行成功,但是一直处于黑屏状态

·引起黑屏现象的原因分析:原因:iOS工程代码中缺少window​​​​​属性详细说明:Xcode11以后,Xcode会默认使用Scene进行多窗口分屏管理,我们可以在SceneDelegate文件中看到,window​​​​​属性已经被默认创建,如下图所示:当我们没有多窗口分屏的需求时,可以删除工程中Scene的相关代码(SceneDelegate文件、AppDelegate中有关Scene的方法、Info.plist文件中的Scene配置项,这里可参照下文的步骤二至四进行操作)。删除

2022-02-12 23:34:41 4940 2

原创 swift - 添加导航栏

步骤一:修改AppDelegate文件为如下代码:class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?).

2022-02-12 20:44:05 1872

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除