自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 iOS多线程编程的知识梳理

多线程编程也称之为并发编程,由于其作用大,有比较多的理论知识,因此在面试中也是受到面试官的青睐。在日常项目开发中,至少网络请求上是需要使用到多线程知识的,虽然使用第三方的框架比如AFNetworking进行网络请求比较简单,但是也是需要开发人员对多线程、block等知识有比较清晰的思路,才能在遇到问题的时候,能够有条理的找出问题并解决好。本篇文章的定位是梳理下在iOS开发中多线...

2019-08-29 21:56:00 277

转载 iOS内存管理的知识梳理

从作用上来说,手机内存小,划分给每个App的内存有限,合理的进行内存管理,有利于提高软件的运行性能和用户体验;另外,内存管理是一大理论知识块,对这块知识的理解程度也是考核面试者的重要标准。内存管理,给稍微有些经验的开发者的感觉就是既无处不在,但是又没在内存管理上没花过心思。说它无处不在,那是因为从你定义一个属性开始、从你实例化一个对象开始,内存管理就已经起作用了。说...

2019-08-29 21:55:00 249

转载 Mac系统中桌面图片和用户头像图片的路径

系统中的桌面图片:/Library/Desktop Pictures/用户头像图片:根目录资源库/user pictures/参考:【https://bbs.feng.com/read-htm-tid-1538536.html】【https://www.macx.cn/thread-2121643-1-12.html】转载于:https:...

2019-08-25 21:48:00 2398

转载 安卓开发:Android Studio自动import

我只想说,真好用!哈哈,提高效率的好东西。参考:【https://blog.csdn.net/pjdd123/article/details/80953669】【https://www.cnblogs.com/zhaogaojian/p/8260947.html】转载于:https://www.cnblogs.com/cchHers/p/11332405....

2019-08-10 17:47:00 206

转载 安卓开发:打印Log

在iOS开发中使用NSLog进行打印调试,在安卓中使用的是Log.v(tag, msg);等进行打印调试。参考:【https://blog.csdn.net/salary/article/details/82686550】转载于:https://www.cnblogs.com/cchHers/p/11326978.html...

2019-08-08 21:30:00 89

转载 安卓开发:图片的显示Mode

安卓开发中将图片放置在ImageView中展示,涉及到图片显示的模式,跟iOS开发中UIView的contentMode属性是一个意思,在安卓UI元素中使用的属性是scaleType,其中枚举值的效果和使用,可以参看下下面这篇文章:【安卓ImageView拉伸展示】转载于:https://www.cnblogs.com/cchHers/p/11326955.html...

2019-08-08 21:27:00 255

转载 安卓开发:让四个按钮各占屏幕的四分之一宽度

这样的需求如果在iOS中,基本的思路是获取当前屏幕的宽度screen_width,然后用一个CGFloat类型的变量temp_width记录一下screen_width / 4.f的计算结果,在用temp_width为按钮的width赋值。不管是frame布局还是autolayout布局方式,基本都这样。但是安卓中实现这样的效果,用的是“布局模式 + 不给定宽度 + 权重”。感觉很优...

2019-08-06 14:37:00 1207

转载 安卓开发:用ImageView放上图片后上下有间隙

想不到在我使用第一个UI控件ImageView时候就遇上了问题,简单使用ImageView如下:<ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/homePage" /&g...

2019-08-06 14:17:00 353

转载 安卓开发:初步了解布局文件layout

了解完项目的目录结构,主要文件的作用之后。了解完各常量文件的定义和使用之后,接下来的重头戏肯定是布局文件layout。果然,网上关于“安卓布局文件layout”的各种介绍、解析、深入分析,等等资料很多。我首先选了这篇文章,因为一眼扫过去觉得,花架子不多,语言朴实,文章结构也比较清晰。【https://blog.csdn.net/liuwei0604/article/det...

2019-08-05 22:42:00 443

转载 安卓开发:如何通过项目源代码学习

在对安卓开发有了大致的Guide理论认识之后,直接通过项目源代码进行学习是最快的方法。首先需要学习的是项目的目录结构。结合自己对iOS的了解,我认为以下几个目录是很关键的,也是接下来需要各个突破的。(1)将项目文件按照“Project”的结构排开(2)项目名/gradle/wrapper/gradle-wrapper.properties文件,配置着用哪个版本的gradle构...

2019-08-05 21:49:00 249

转载 导航栏的隐藏、状态栏的隐藏

导航栏的隐藏与显示:状态栏的隐藏:参考:【https://www.jianshu.com/p/1f9928cd6cde】【https://www.jianshu.com/p/87e76ec1e7b3】转载于:https://www.cnblogs.com/cchHers/p/11460260.html...

2019-08-04 21:09:00 239

转载 安卓开发:往项目中添加并使用图片

一 往项目中添加图片文件(1)iOS项目在iOS项目中,如果往项目中添加的图片是png格式的,就是往Assets.xcassets文件夹中添加。如果不是png格式,比如jpg格式的图片,就不能往Assets.xcassets文件夹中添加,那就自己在项目中随意创建一个文件夹,把该图片文件放置进去就行,比如下面这样:(2)Android项目我使用的是Android S...

2019-08-04 20:39:00 1456

转载 安卓开发:Password verification failed

2019年8月5日更新:我把Android Studio升级到3.4.2版本后,发现下图中的按钮已经不见了,所以本文中之前的创建签名文件的方法已经不行了~。。。3.4.2版本是这样的--->>>另外找到一篇博客的做法可以解决好这个问题:Androidstudio 3.4打包并生成签名提示:上面这个链接中提到的方法,在实施时,需要提供jks文件的路径,...

2019-08-02 13:59:00 2843

转载 安卓开发:在Mac系统中搭建安卓开发环境

第一步:检查下自己的电脑上有没有安装JDK(Java Development Kit)(2019年7月安装的最新版是JDK 1.8.0_181版本),通过在终端中输入"java -version",可以得到检验。第二步:如果没有安装JDK,请移步Oracle官网的下载中心进行下载(需要登录Oracle账号和同意协议才能下载)【https://www.oracle.com/techne...

2019-07-31 20:40:00 149

转载 什么叫数据库,为什么要安装数据库?

有关数据库有严格的定义,本文结合自己的理解,通俗简短的介绍下数据库:首先我们想一想,电脑的组成上有一大块的硬盘是用来干什么的?用来存放数据的。这个硬盘就相当于一个大型仓库,里面空空如也,就是一个大的空着的空间。一般是谁能往里面放置东西呢?各种软件。然而每一种软件存放数据的方式是不一样的,比如对于同样的数据,比如说一个员工的信息(包括照片、姓名、地址等),软件A直接将这些数据生成一...

2019-07-31 20:34:00 700

转载 iOS中的主要框架framework

在日常的iOS项目开发中,主要使用的就是Foundation和UIKit这两个框架。(一)Foundation框架Foundation是对Core Foundation框架的一个封装,使用Foundation框架干的活大致就是:创建和管理集合,比如NSArray、NSDictionary、Set访问存储在应用程序里的图片和其他资源创建和管理字符串自动发现IP网...

2019-07-28 21:42:00 209

转载 Python开发:在mac系统中安装pip

pip用来安装python项目的依赖库。大多数比较新的python版本都自带pip,所以先检查下pip是否有安装。终端输入:pip --version如果没有安装pip,那么就用接下来的方式安装pip。-- 前言安装pip的方式是运行一个python文件,因此请先确保电脑中已经安装有python。这个python文件的内容在互联网上有,放置在【https:/...

2019-07-27 20:24:00 286

转载 UIViewController的API

- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;返回一个新初始化的视图控制器,其中包含指定包中的nib文件。- (instancetype)initWithCoder:(NSCoder *)aDecoder;@property(...

2019-07-24 21:20:00 228

转载 UIImageView的API

- (instancetype)initWithImage:(UIImage *)image;返回使用指定图像初始化的图像视图。- (instancetype)initWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage;返回使用指定的常规和突出显示的图像初始化的图像视图。...

2019-07-23 22:57:00 149

转载 UIResponder的API

@property(nonatomic, readonly) UIResponder *nextResponder;返回响应者链中的下一个响应者,或者nil如果没有下一个响应者。@property(nonatomic, readonly) BOOL isFirstResponder;返回一个布尔值,指示此对象是否是第一个响应者。@property(nona...

2019-07-23 22:55:00 124

转载 运行时Runtime的API

const char * class_getName(Class cls);返回类的名称。Class class_getSuperclass(Class cls);返回类的超类。Class class_setSuperclass(Class cls, Class newSuper);设置给定类的超类。BOOL class_isMetaClas...

2019-07-23 22:40:00 162

转载 UIView的API

- (instancetype)initWithFrame:(CGRect)frame;使用指定的框架矩形初始化并返回新分配的视图对象。- (instancetype)initWithCoder:(NSCoder *)aDecoder;@property(nonatomic, copy) UIColor *backgroundColor;视图的背景颜色。...

2019-07-23 21:48:00 184

转载 UIControl的API

@property(nonatomic, readonly) UIControlState state;控件的状态,指定为位掩码值。@property(nonatomic, getter=isEnabled) BOOL enabled;一个布尔值,指示控件是否已启用。@property(nonatomic, getter=isSelected) BOOL ...

2019-07-23 21:46:00 146

转载 UIScrollView的API

@property(nonatomic, weak) id<UIScrollViewDelegate> delegate;滚动视图对象的委托。@property(nonatomic) CGSize contentSize;内容视图的大小。@property(nonatomic) CGPoint contentOffset;内容视图的原点从滚...

2019-07-23 21:41:00 141

转载 使用KVO键值监听

本文章从五个方面介绍KVO(Key-Value-Observer)键值观察者:(1)功能介绍(2)使用步骤(3)应用场景(4)原理理解(5)相关的面试题一 功能介绍KVO是OC语言对「观察者设计模式」的一种实现。只要是NSObject的子类的实例对象,利用KVO机制可以监听该对象的指定属性的值,当属性值发生变化的时候,监听者就能获得通知,就能作出...

2019-07-22 21:12:00 211

转载 NSObject类的API介绍

这篇文章围绕的对象就是NSObject.h文件,对声明文件中的属性、方法进行必要的“翻译”。该文件大致由两部分组成:NSObject协议和NSObject类。(一)NSObject协议- (BOOL)isEqual:(id)object;//这个方法的作用是判断两个对象是否相等。//两个对象是否相等不能简单地用“==”判断。基本数据类型用“==”可以判断...

2019-07-21 21:52:00 90

转载 iOS项目开发日常之创建文件(协议、类、分类、扩展)

iOS项目开发过程中,是以不断创建文件的形式进行着的。创建得比较频繁的文件类型是:这两个类型中创建的文件有:子类、分类、扩展、协议四种文件,如下:这四类文件是频繁创建的,我们来看一下各自分别的文件结构。认识下(常见的头文件类型):(一)@interface 类 <协议>声明一个类 遵守 某协议(二)@interface 子类 ...

2019-07-18 23:24:00 173

转载 UIKeyWindow的设置

新建一个纯代码iOS项目,需要对AppDelegate文件和项目的Info.plist文件做一番配置。第一步:将Info.plist中的下面两项的value删除掉(保留空字符串),如下图第二步:在AppDelegate中创建一个UIWindow对象,如下所示转载于:https://www.cnblogs.com/cchHers/p/11202617...

2019-07-16 23:50:00 120

转载 多态特性

iOS开发人员经常会使用到多态特性,只是有些人不知道“原来这就是多态”。----- 前言用简单的几句话说明多态就是:1. 用父类类型的指针指向子类对象,程序在运行时,通过运行时系统(runtime)进行动态监测,以调用真实的对象方法。2. 父类类型的变量不能直接调用子类特有的方法,如果必须要调用,则必须对该变量强制转换为子类的类型。举个例子VC栈中...

2019-07-16 21:55:00 121

转载 什么叫懒加载、懒加载有什么作用?

懒加载其实就是延时加载,即当对象需要用到的时候再去加载。----- 概括什么叫做需要用到的时候?比如说一个对象被创建出来就需要一笔内存开支,如果接下来就没有其他的操作(比如NAMutableArray对象还没有被存放数据;UIView对象还没有被显示出来),那可以认为这个对象创建得|“过早”了。那如何使用懒加载呢?自从点语法出现以后,访问一个对象基本就类似于sel...

2019-07-16 20:32:00 2078

转载 UIView动画的使用

下面介绍三种简单的UIView动画的使用,如果在项目中对动画没有太多“细致化”的设计要求,基本够用了。一、首尾式动画说明:如果只是修改控件的属性,使用首尾式动画还是很方便的,如果还需要在动画完成后有一些后续的操作,不建议使用首尾式动画。二、Block代码块动画说明:动画执行完之后可以设置后续操作。三、序列帧动画说明:动画就是动起来的画...

2019-07-15 23:01:00 122

转载 使用KVC键值编码

掌握KVC从不使用setter、getter、点语法开始。----- 前言对象的内部状态是由属性进行封装的。访问对象属性的方式平时在开发过程中用得最多的是getter方法和点语法。键值编程KVC也是一种访问对象属性的机制。键值编码的定义是:通过名称(键)间接访问和操作对象的属性,而无须使用访问方法(即getter方法和setter方法)或实例变量。学会熟...

2019-07-11 21:06:00 154

转载 ScrollView不设置contentSize属性依然也可以作为底层滚动View(使用masonry设置scrollView的contentSize)...

第一步//下层的scroolViewself.baseScrollView = [[UIScrollView alloc] init];self.baseScrollView.delegate = self;self.baseScrollView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);self....

2019-07-10 06:32:00 192

转载 十六进制颜色

建议生成UIColor的分类使用,如下:.h@interface UIColor (HSF_HexString)+ (UIColor*)colorWithHexString:(NSString*)color;+ (UIColor*)colorWithHexString:(NSString*)color alpha:(CGFloat)alpha;@end...

2019-07-09 23:18:00 385

转载 项目中常用的全局宏定义#define

一 关于屏幕大小#pragma mark - 屏幕宽高#define SCREEN_BOUNDS ([UIScreen mainScreen].bounds)#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)#define SCREEN_HEIGHT ([UIScreen mainS...

2019-07-09 06:45:00 1539

转载 UITextField的快速基本使用代码块

概述UITextField在界面中显示可编辑文本区域的对象。您可以使用文本字段来使用屏幕键盘从用户收集基于文本的输入。键盘可以配置许多不同类型的输入,如纯文本,电子邮件,数字等等。文本字段使用目标操作机制和委托对象来报告在编辑过程中所做的更改。除了基本的文本编辑行为之外,还可以将叠加视图添加到文本字段以显示其他信息并提供其他可定位控件。您可以为诸如书签按钮或搜索图标...

2019-07-09 06:41:00 146

转载 将UIImage转换成圆形图片image

建议写成UIImage分类,如下:.h//变成圆形图片- (UIImage *)circleImage;.m//变成圆形图片- (UIImage *)circleImage{ // NO代表透明 UIGraphicsBeginImageContextWithOptions(self.size, NO, 1); // 获...

2019-07-08 23:12:00 458

转载 color转成image对象

.h//颜色转换成图片+ (UIImage *)imageFromColor:(UIColor *)color;.m//颜色转换成图片+ (UIImage *)imageFromColor:(UIColor *)color{ CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f); UIGr...

2019-07-08 23:05:00 252

转载 UIImage点九图(让image不变形、只拉伸中间部分)

建议写成UIImage的分类,如下.h//保证图片拉伸不变形- (UIImage *)resizingImageState;.m//保证图片拉伸不变形- (UIImage *)resizingImageState{ CGFloat imageW = self.size.width * 0.5; CGFloat imageH = ...

2019-07-08 22:02:00 795

转载 根据字符串生成二维码图片

.h//根据字符串生成指定大小的二维码+ (UIImage *)createQRCodeImageWithMessage:(NSString *)message size:(CGFloat)size;.m#import <CoreImage/CoreImage.h>//用于生成二维码//根据字符串生成指定大小的二维码+ (UIImage...

2019-07-08 20:10:00 1178

空空如也

空空如也

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

TA关注的人

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