自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TabBar图片偏移和渲染问题

有时候需要突出显示Tabbar上的某一个选择项目,对该项目的要求是:图片尺寸比其他的大、位置靠上其显示的图片样式不被改变。要达到这中效果,均需要在UIImage类上做文章。尺寸大小比其他的大:首先我们给定的图片资源的尺寸就要比其他的大,或者是通过代码将图片给放大或缩小达到合适大小位置问题:使用UIImage的实例方法.withBaseLineOffset返回一个基于基线底部的新图,这样视觉上图片就偏移了;另一个方法是给tabbarItem.imageInsets设置对应的值图片不被改变使用原本的样

2020-07-25 10:36:49 266

原创 lable 宽高自动适应 Swift

有什么我们需要对lable进行动态布局,那么对lable的尺寸大小有需求,这里提供一个方案首先创建一个lable,frame属性不设置。设置其text,font等其他属性获取拥有这些属性的字符串绘制时候应当占有的边界大小,使用String的size(withAttributes: )函数,其中的参数是一个字典,这里传入的就是给文本所添加的各种属性接着设置lable的frame...

2020-06-30 22:46:08 142

原创 Combine+KVO

swift语言并没有直接支持kvo,使用@objc dynamic关键字是编译器隐藏触发kvo机制的函数,另外,只能定义在遵循NSObject类的对象中被上述关键字标记的变量才能够使用到KVO(swift编程的环境中)。若不使用combine来处理kvo,那就直接在函数prepare()函数中检测到关键路径值的变化并做出反应。使用combine来处理kvo的键值观察将会很简单。// 1class TestObject: NSObject { // 2 @objc dynamic var .

2020-06-27 19:43:22 234

原创 IOS14 SwiftUI最新内容 App协议

使用遵循app 协议的的结构体进行应用的构建,在结构体中实现一个叫body的计算属性,以此来定义app的的content即叫内容。使用@main属性标记到自定义的app结构体之前,表明为自定义结构体MyApp提供了入口点。该协议提供了一个main()函数的默认实现方法,运行时候,系统会自动调用该方法以启动应用程序。@mainstruct MyApp: App { var body: some Scene { WindowGroup { Text("He.

2020-06-25 01:32:44 488

原创 [RxSwift & RxCocoa]响应式编程基础一

RxSwift 的讲解命令式编程“传统的UIKit编程就是命令式编程”,使用函数或闭包用来改变程序中响应的“状态”,例如对UI的操作,使用UI组件的实例对象的方法,改变组件的属性,在系统的事件循环下,UI随着属性的变化而更新。声明式编程定义一些行为,然后当一些事件发生后,自动的去运行这些行为(而不是主动调用这些行为),是以事件为驱动,没有对应的事件发生,这些行为是不会被运行的。例如:妈妈给小孩子声明了“挨打就要哭”的行为,妈妈一打小孩子,小孩子就会哭,当妈妈不打孩子,孩子就不会哭。小孩子不会去主动的

2020-06-20 02:14:55 332

原创 [小技巧系列]textField使用小技巧

在页面中有多个textField时候,如何让前面的在没有输入文本的情况下,不允许结束编辑,不允许键盘“return”按钮按下后结束编辑模式(UITextField注销掉第一响应者)。使用方法是:func textFieldShouldEndEditing(_ textField: UITextField) -> Bool { if let text = textField.text { if text.isEmpty { r.

2020-06-18 20:33:27 333

原创 App Group 使用说明(ios13)

app group用于app间数据共享,也用于扩展与宿主app间的数据共享1. 添加App Group的方法正如你所看到的,选中项目跟着步骤走,就可以显示出app group ,接着直接将其拖拽到对应TARGET中,如果你的ID没有创建过App Group 那么这个时候里面的内容是空的,这个时候你可以直接点击“+”按钮在弹出的菜单中输入你要创建的App Group的名字(即entitlements),确定后就可以在刚才拖拽出来的App Group的里面显示出当前你已经添加的组的标识符,即名称。如果你确

2020-06-16 11:06:00 6503

原创 Today EXtension (ios13)

今日扩展 使用说明创建方式:在项目创建后的情况下,点击 File -> new -> Target 然后在弹出的窗口中选择Today Extension。然后输入扩展的名称即可,完成后会以分组文件夹的形式显示到项目目录中。他是系统的扩展,不是完整的app,需要有主要的app(宿主app)的存在才能够使用它。一般用开将自己app中当天常用到的信息或者功能进行呈现,用户点击过后可快速唤起对应的主app,也可也针对不同的选项,跳转到app指定的页面。用户在today extension中点击

2020-06-16 10:20:12 263

原创 [ios13]Swift 纯代码无StoryBoard项目创建

创建可用的项目创建项目首先按照一般步骤,创建项目,结果如下:注意一点是:删除项目中的Main.storyboard 文件,然后在info.plist中删除以下属性的建:Storyboard Name接着在项目属性 Main interface 当中删除 “Main”于是乎,我们完成了基本的前期操作,接下来就需要我们手动进行一些设置才能够让视图控制器显示到我们的屏幕上手动调整代码,显示视图控制器到我们是窗口中由于在ios13及以后的代码及接口较ios12以前的有很大变化,所以在ios13后

2020-05-30 04:43:03 912

原创 破冰

将会在这里分享知识现在是间是2020年5月30日

2020-05-30 03:54:22 211

空空如也

空空如也

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

TA关注的人

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