自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

搬砖路上的琐碎记录

工头叫我去干活了

  • 博客(26)
  • 收藏
  • 关注

原创 快速排序-Swift 实现

如题,上代码:func quick_sort(arr: inout [Int]) { if arr.count == 0 { print("Data error") } _q_sort(arr: &arr, start: 0, end: arr.count - 1) } func _q_...

2018-06-19 17:30:45 348

原创 简单实现Android计时器

使用Android提供的Chronometer控件可以快速地实现一个定时器效果。在xml文件中添加定时器控件:<Chronometer android:id="@+id/timecount" android:layout_width="wrap_content" android:layout_height="wrap_content" android:t

2017-01-17 00:04:58 978

原创 android.view.InflateException: Binary XML file line #17: Binary XML file line #17: Error inflating c

简单创建了高德地图的demo运行时发现这个错误,查看了一下发现下面还有具体的说明:Caused by: java.lang.ClassNotFoundException: Didn't find class "com.amap.api.maps.MapView" 原来我的xml中的代码是直接复制的,里面用的高德地图类是com.amap.api.maps.MapView,但是我只

2017-01-02 13:30:08 2185 1

原创 ViewPager+Fragment+TabLayout联合使用

一、主页面布局:添加Tablayout和ViewPager两个控件(PS:使用前要先添加支持库:(1)ViewPager:compile 'com.android.support:support-v4:23.4.0’(2)TabLayout:compile 'com.android.support:design:24.0.0'代码:activity_main.x

2016-07-25 23:48:01 4448

原创 Android 计步功能-简单实现

使用Android4.4 Kitkat 新增的STEP DETECTOR 以及 STEP COUNTER传感器。官方介绍:TYPE_STEP_COUNTER:计步器(记录历史步数累加值)int TYPE_STEP_COUNTERA constant describing a step count

2016-07-22 21:42:40 25075 1

原创 自定义RatingBar的一些问题

使用Ratingbar做一个完成度的评定显示:系统默认的Ratingbar颜色并不合适使用。此处需要自定义。参考网上一些文章,写一下总结。一、设置RatingBar显示的资源图片在drawable文件加下新建一个layout-list类的文件:http://schemas.android.com/apk/r

2016-07-20 00:21:20 2603

原创 iOS 屏幕适配

一、屏幕适配发展历史1、直接通过frame设置2、通过Autoresizing设置控件和父控件的相对关系。运行时根据设置的规则计算出frame3、autolayout:设置某个控件与任意其他控件的相对关系4、size class: 针对不同的屏幕设置不同的控件位置越苏规则。ps:1:autoresizing和autolayout互斥。     2:使

2016-07-17 23:33:06 410

原创 对比Android开发中常用的几个上下文对象

this即当前的application或activity或service。 getApplication()系统提供的单例对象,每个应用只有一个。只能在activity和service(以及application类)中调用,获得应用的application单例对象。 getApplicationContext()getApplicationContext()

2016-06-12 15:45:09 1354

原创 自定义一个UITableViewHeaderFooterView、UITableViewCell需要注意的一些方法。

(id)initWithXXX:初始化这个View,UITableViewHeaderFooterView的时候并没有在其中设置frame和bounds;PS:注意重写我们通常在其中添加需要的UIVIew。需要在layoutSubViews中设置。(void)setModel:设置数据模型,在设置数据模型的时候同事设置UI子控件的frame。(void)layoutSubVie

2016-05-21 13:52:11 1762

原创 iOS通知模式

iOS的通知中心功能介绍负责协调应用中不同对象之间的消息通信。每个应用程序都会有个通知中心(NSNotifictionCenter)的实例。任何对象都可以通过通知中心发布通知,并携带信息。其他对象可以对可能发消息的对象进行订阅。这就类似与广播和广播订阅中。发送源于接受者的关系可以说一对一也可以是一对多。 一条完整的通知 需要包含三个部分:1、通知名称(标题):(

2016-05-17 23:42:05 448

原创 iOS设置状态栏

一、设置状态栏的风格:重写父类方法preferredStatusStyle:返回状态栏的风格属性(UIStatusBarStyle)preferredStatusStyle{Return UIStatusStyleLightContent;(PS:返回的这个描述状态栏的值是枚举)}  二、设置状态栏的可见性,重写方法prefersStatus

2016-05-17 13:03:44 373

原创 UITableView的用法(Objective-C)

两种形式:分组UITableViewStylePlain不分组UITableViewStyleGrouped 一、实现列表一般过程:1、遵守table数据源协议UITableViewDataSource>3、设置数据源2、重写方法:两个://必须实现:返回每个分组中的条目- (NSInteger)tableView:(UITableV

2016-05-17 12:55:34 574

原创 objective-c拉伸图片的三种方法

1、[myimage resizableImageWithCapInsets:UIEdgeInsetsMake(h, w, h, w)];2、[myimage stretchableImageWithLeftCapWidth:(NSInteger) topCapHeight:(NSInteger)]; 3、[myimage resizableImageWithCapIn

2016-05-17 12:54:00 944

原创 RxJava学习笔记

概念理解一种观察者模式,封装了极方便的线程操作,可以用于嵌套回调机制使代码更加清晰。定义Observer:观察者,设置被观察者有什么行为时调用RxJava接口的实现方法。onNext、onCompleted、onError。Subscriber:订阅者,与Observer相同(实现该类的抽象类),对Observer的接口进行的扩展,多了两个方法:1、on

2016-04-26 13:55:40 483

原创 xib文件使用

xib布局文件在安装到手机后会被转成nib文件。因此记住nib就是xib。获取一个xib文件//使用NSBundle的loadNibName方法获取,传入要获取的xib的文件名(不用后缀)。NSBundle *bundle = [NSBundlemainBundle];   NSArray *objs = [bundleloadNibNamed:@"xib文件名"o

2016-04-24 17:59:18 389

原创 字典转模型

在使用许多数据的时候一般用模型来存储数据的类。开发时当我们从文件中取出数据到字典后,应该将数据从字典取出装到模型中,将面向字段开发转为面向模型开发。 模型对象的参数选择:copy:NSStringStrong:一般对象weak:UI控件assign:基本数据类型。  PS:注意模型方法的规范。比如需要一个需要一个initWithXXX

2016-04-23 22:18:43 842

原创 Xcode 插件管理器Alcatraz的安装和使用

Alcatraz是Xcode的一个插件管理器,通过Alcatraz可以查看和卸载Xcode上已安装的插件,并且通过Alcatraz也可以搜索并按安装许多Xcode的插件。 安装Alcatraz使用命令行安装:curl -fsSLhttps://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh

2016-04-23 09:31:48 982

原创 Android Annotations框架学习

注解框架,提高开发效率,但是适合小型中性使用不适合大型项目(原理是带后台编译出新的方法,当项目比较大时,会方法超出,65536)。)。 开始注释使用:使用在Activity中使用Annotation注释的时候首先要使用@EActivity注释一个这个Activity,并且在这个清单文件中修改这个Activity的名字,在名字后面添上一个下划线,比如原来的是.MainActivi

2016-04-21 23:09:41 495

原创 Objective-序列帧动画一般使用步骤:

序列帧动画一般使用步骤: //0、判断图片是否已加载    if (self.annimImg.isAnimating){       return;    } //1、设置动画数组    self.annimImg.animationImages = imageArray;    //2.设置播放次数(1次)    self.annim

2016-04-21 23:06:22 524

原创 swift字符串

初始化var emptyString = ""               // empty string literal var anotherEmptyString = String()  // initializer syntax // 这两个字符串都为空,并且两者等价   遍历字符串 for characterin"teeeeesdfs".chara

2016-04-01 14:10:47 379

原创 Swift之可选数据类型

刚刚看swift语言,被可选类型弄得很绕,看了好几遍,大概整理了一下。使用可选类型的意义:当一个我们访问一个可选类型的常量或者变量的时候当它的值为空时不会报空指针而是表示没有值(避免了空指针的错误)。即使用可选(optionals)来处理值可能缺失的情况。可选类型的值有两种情况:有值、或者为nil。 PS:Swift 的nil和Objective

2016-04-01 01:39:17 602

原创 Objective-C中KVO简单用法

KVO:(Key-ValueObserving)objective-c中可以使用KVO来监听属性改变。(通过设置观察者来实现)两个方法:1、设置监听- (void)observeValueForKeyPath:(nullableNSString*)keyPath ofObject:(nullableid)object change:(nullableNSDictionaryNS

2016-03-20 10:14:34 577

原创 自定义UIButton一般方法

自定义UIButton的话需要重写三个方法:-(CGRect)titleRectForContentRect:(CGRect)contentRect;设置按钮标题的frame-(CGRect)imageRectForContentRect:(CGRect)contentRect;设置图片标题的frame-(instancetype)initWithFrame:(CGRect)f

2016-03-18 09:35:09 282

原创 iOS单例模式学习

单例模式通常有两种:懒汉式和饿汉式区别:懒汉式:第一次用到单例对象时再创建单例对象。饿汉式:饿汉式:一进入程序就创建。在iOS开发中为了节约资源因此推荐使用懒汉式。iOS中懒汉式使用的一般过程:1、头文件中自定义一个shareInstance类方法用来返回单例对象2、实现文件中重写allocwithzero方法,返回要执行单例的对象(对象为全

2016-02-28 10:11:42 338

原创 GCD学习

一、GCD使用 使用步骤:1、定制任务2、将任务添加到队列中 GCD执行任务的两种方式:1、同步:只能在当前线程中执行任务不具备开线程的功能dispatch_sync(dispatch_queue_tqueue,dispatch_block_tblock); 2、异步:可以在新的线程中执行任务,具备开线程的能力dispatch_async(d

2016-02-23 12:48:37 274

原创 NsThread学习

创建和启动:NSThread *thread = [[NSThreadalloc]initWithTarget:selfselector:@selector(download)object:nil];   thread.name =@"下载线程";   [thread start];参数分析:调用方法、传递参数PS:init方法后仅仅是创建了线程对象,需要通

2016-02-21 00:55:33 373

空空如也

空空如也

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

TA关注的人

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