自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

做一个奋斗不止的小公举!

只要你不放弃,等待你的将会是一片光明。

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

原创 UIResponder

UIResponder有一个指针nextResponder,可通过该指针组成一个响应对象链。当UIView对象属于某个UIViewController对象时,nextResponder指针就会指向包含该视图的UIViewController对象。当UIView对象不属于 任何UIViewController对象时,其nextResponder指针就会指向该视图的父视图,UIViewControlle

2016-04-28 12:19:52 368

原创 NSDictionary

NSDictionary和NSMutableDictionary的键必须遵守NSCopying协议-键必须可以复制,所以有些时候,我们要存储的键本身是不可复制的时候(比如UITouch),可以将其用NSValue包一下。

2016-04-28 12:08:09 247

原创 深拷贝与浅拷贝

今天经高人指点,对这个深拷贝和浅拷贝有了新的认知,原来以前理解的都是错的!忘掉以前的一切,让我们重新认识一下深拷贝和浅拷贝。 官方文档在此为证! There are two kinds of object copying: shallow copies and deep copies. The normal copy is a shallow copy that produces a ne

2016-04-26 21:28:18 319

原创 UITableView

footerView今天遇到一个奇怪的现象,就是我自定义了一个UIView用作footerView,然后往里面放了一个button,然后设置self.tableView.tableFooterView = footer;但是却怎么都显示不出来。后来我就利用代理方法直接返回一个button就好了。其中原因还不是很清楚。- (UIView *)tableView:(UITableView *)table

2016-04-25 12:25:10 243

原创 UINavigationController

设置统一的颜色有的时候我们想统一设置导航栏字体的一些属性,比如字体颜色,试过一些方法都不好使,记下来好使的方法。NSMutableDictionary *textAttrs = [NSMutableDictionary dictionary];textAttrs[NSForegroundColorAttributeName] = [UIColor whiteColor];self.navigati

2016-04-25 11:52:17 249

原创 UITabbar技巧收集

修改tabbar的高度继承UITabbarController,然后重写下面的方法- (void)viewWillLayoutSubviews { self.tabBar.height = 60; self.tabBar.y = self.view.height - 60;}

2016-04-22 15:59:05 290

原创 指针

观察上面的程序和输出,怎么去理解呢,就是change1它是在栈区又开了一个临时变量来接受传进来的参数,也就是a,所以change1中的指针和传进来的参数的指针不是一个,由此证明它们不是一个变量。所以你在change1当中做的改变随着函数结束就消失了~并没有造成什么影响。但是对于change2,他传入的是一个参数的指针,是确实把指针指向的内容给修改了,所以函数结束后,a的值被改变了。这个要好好理解一下

2016-04-20 10:35:46 287

原创 一点一点积累bug。。。

今日初识Mantle,崩掉了,不知所措。仔细一看原来是JSONKeyPathsByPropertyKey这个函数里面写漏掉了一个参数。。。解决iOS模拟器上面只能用模拟器上的键盘,不能用笔记本的键盘的问题 勾选上这个就行开发中遇到这种问题EXC_BAD_ACCESS 很有可能就是死循环了,傻乎乎地找半天,这个是改过之后的,之前写成这样

2016-04-19 21:21:58 297

原创 Expression is not assignable

不知道有没有跟我遇到同样的错误,今天研究一下为什么。 self.view.frame.size.width = 20; 当我们这样去写上面的语句的时候会报错Expression is not assignable。为什么会这样,起始还是对OC理解的不够透彻,分析一下他的语句, self.view是利用点语法调用view的getter 方法,然后view调用frame的getter方法,也就是这

2016-04-19 21:17:47 13717

原创 xib

如果控件不是从xib、storyboard中创建会调用initWithFrame方法如果是从xib、storyboard中加载的就会调用initWithCoder和awakeWithNib:方法。

2016-04-14 20:38:11 396 1

原创 UITextView

UITextView继承自UIScrollView有时候我们有一个界面是带有导航栏的,然后我们家上了这个UITextView子视图,并让其占据整个屏幕,但是会发现一点击输入时,光标正好显示在导航栏的下面,怎么会这样呢,这个时候他的值不应该是0吗,应该被导航栏挡住了啊。其实是因为她的父类特有的功能,那个EdgeInset,它的内容的EdgeInset被悄悄改变了(由于有导航栏并且automatical

2016-04-14 20:19:12 401

原创 图文混排效果

如果要做图文混排可以利用NSMutableAttributedStringNSTextAttachment *attch = [[NSTextAttachment alloc] init];attch.image = [UIImage imageNamed:@""];NSAttributedString *mstr = [NSAttributedString attributedStringWit

2016-04-11 17:53:10 599

原创 GCD

大中枢派发~~~由C语言编写的,非常强大它自动利用多核自动管理线程生命周期(就是关于线程的创建和调度还有销毁不需要你管)理解好两个概念任务:具体的操作队列:存放任务的队列GCD使用步骤 - 确定任务 - 将任务放到队列中执行任务有两种方式 - 同步:sync -不开新线程,在当前线程中执行 - 异步:async -开启新线程(在主队列中无法开启新线程)队列有两种 - 串行:on

2016-04-10 21:40:55 290

原创 UIViewContentMode

typedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, // contents scaled to fit with fixed aspect. remainder is transparent UIV

2016-04-10 14:18:30 638

原创 值得注意的小细节

发现@”“和nil不是一个含义

2016-04-09 21:15:50 373

原创 UIImage

imageWithContentOfFile: 这个方法不会有缓存,适合加载大图片,或者使用频率低的图片imageWithNamed: 这个方法会有缓存,适合加载小图片,使用频率高的

2016-04-09 17:36:59 234

原创 事件传递

发生事件是由窗口通知根控制器,然后根控制器再传递给其子控制器。所以要注意,如果由一个控制器控制另一个控制器时,最好让他们形成父子关系,其view也要有父子关系。

2016-04-09 14:46:08 234

原创 UIScrollView的contentSize、contentOffset、contentInset

都知道UIScrollView是可以滚动的,但是前提是你得告诉它内容大小,他才可以在相应大小内滚动,contentSize就是设置内容大小的,那么contentOffset、contentInset是干什么的。 - contentOffset:scrollview当前显示区域顶点相对于frame顶点的偏移量 - contentInset:scrollview中contentView.frame.

2016-04-09 14:20:33 338

原创 UITableViewCell

自定义Cell自定义cell中的控件要加到cell的contentView中。新建一个子类继承UITableViewCell在initWithStyle:方法中进行子控件的初始化,将一些只进行一次的操作放在这里尽可能将所有可能出现的控件都先放进来提供数据模型和frame注意:如果自定义cell较复杂不建议用xib,xib不够灵活,比如:你只能将控件成为UIView的子视图,如果你想让一个

2016-04-09 14:14:48 262

原创 UIButton

sizeToFit 这个方法是自动根据button中的内容来设置尺寸的,但是要注意,这个方法在图片在左文字在右的状态下才会计算的正确,不然就会跟你设想的不一样。

2016-04-08 20:02:38 244

原创 线程通信

线程通信一般表现在一个线程传递数据给另一个线程一个线程执行完又回到某个线程不要在子线程中更新UI界面,因为主线程负责更新UI界面,并且UI控件都是非线程安全的,如果子线程也去更新,就容易导致一些问题。performSelector: onThread: withObject: waitUntilDone: 在这里waitUntilDone代表是否执行完当前线程后再往下执行。

2016-04-08 19:58:43 253

原创 动画

transform当一个动画是表达从一个地方到另一个地方然后再回到原处,那么用transform比较好,将 transform设置为CGAffineTransformIdentity,就可以回到初值。完成动画

2016-04-08 09:41:07 176

原创 一点一点积累的快捷键

在xcode7中收起一段代码不能像以前那样点一下左边界就可以了。可以用快捷键option + command + 左/右 (收起/打开)

2016-04-06 13:57:21 268

原创 开发中犯的低级错误。。。

忘记设置代理用webView加载一个界面,像观察一下他的几个代理方法,所以遵守了UIWebViewDelegate协议。然后开始实现那几个方法,然后运行,半天看不到打印,宝宝蒙圈了,这是肿么了。于是各种百度,然后问了群里的大神们。结果告诉我我忘记设置他的代理了。。。我感觉自己以后就是被笨死的,嗯。!!!所以千万万要记住,你给我记住,要设置他的delegate,不然谁知道谁去实现那些方法啊!!!文件分

2016-04-05 19:51:45 991

原创 面试注意事项

在技术面试考验编码能力时,需考虑测试一些特殊情况。 比如边界条件,空指针,空串,以及错误处理。

2016-04-05 15:42:54 221

空空如也

空空如也

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

TA关注的人

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