在设置了代理后发现 cellForItemAt 一直不被调用,但是 numberOfItemsInSection 可以调用,查找各种方法未解决,最后发现应该是:
一,效果图。
二,代码。
ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from
在mac上,cordova打包ionic项目为苹果手机app出现 这个问题:ERROR Internal navigation rejected - <allow-navigation> not set for url='about:blank'
解决方案:
出现这个错误的原因是因为
1、作为变量
//block 的申明,定义,调用,block快捷方式inline
//<#returnType#>(^<#blockName#>)(<#parameterTypes#>) = ^(<#parameters#>) {
// <
一,代码。
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString
无限轮播图相信是很多开发人员常用的一个功能,这里总结一下常用的两种方式的实现原理
一、使用UIScrollview实现无限轮播
用UIScrollView实现,在scrollView上添加3个UIImageView,分别用来显示上一张图片,当前显示的图片,下一张图片。scrollView在不滑
想必很多开发人员知道一般用copy修饰block,接下来就讲解为什么需要用copy,甚至会讲到其实用strong修饰block也是可以的
在 Objective-C 语言中,一共有 3 种类型的 block:
_NSConcreteGlobalBlock 全局的静态 block,不会访问外部局部变量
很多iOS开发的朋友都是比较关心内存泄漏的问题,在实际的开发工作中首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck工具,功能非常强大。
内存的泄漏是会关系到线上的稳定性和性能。内存
上篇和中篇讲解了什么是GCD,如何使用GCD,这篇文章将讲解使用GCD中将遇到的死锁问题。有兴趣的朋友可以回顾《iOS多线程开发之GCD(上篇)》和《iOS多线程开发之GCD(中篇)》。
言归正传,我们首先来回顾下死锁,所谓死锁: 是指两个或两个以上的进程(线程)在执行过程中,因
一,代码。
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSLog(@"-
1、设置导航栏标题的字体颜色和大小
方法一:(自定义视图的方法,一般人也会采用这样的方式)
就是在导航向上添加一个titleView,可以使用一个label,再设置label的背景颜色透明,字体什么的设置就很简单了。
//自定义标题视图
UILabel *
1. drawRect:
UIView子类重写
2. drawLayer: inContext:
CALayer设置代理 (这是个代理方法)
3. drawInContext:
CALayer子类重写
4. 使用图形上下文生成图片:
imageContext
尽量避免混用
UICollectionView实现瀑布流
在iOS中可以实现瀑布流的目前已知的有2种方案:
使用UIScrollView自己封装一套,这种方案是应用于iOS6之前的,因为iOS6才出来UICollectionView,不过现在这种方案已经不怎么用了,还得自己封装。而且自己封装的性能不一定有系统的要
我们对于IOS的了解最多应该就是苹果手机独有的IOS系统吧,也可以说是单任务管理器,这可以说是一个优势,但是随着技术提升IOS慢慢有被超越的趋势,但是很多大公司还是需要这方面的开发人才,那么今天我们来谈谈IOS开发的入门所需要要具备的知识和技能,如果想要成为一个高薪技术人才那么你们就要努力了。
转载请标明原文链接:http://www.cnblogs.com/zhanggui/p/7151795.html
前言
上一篇文章对App Extension做了简单介绍以及对Share Extension的使用做了简单说明,本篇文章主要是对Sticker Pack Extension进行介绍。
开
一,代码。
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//手
一、loadView
1. loadView什么时候被调用?
每次访问UIViewController的view(如 controller.view、self.view)并且view为nil,loadView方法就会被调用
2. 有什么作用
loadView 方法是用来负
最新 iOS11中的AR特别火爆,自己也到网上找了几个Demo把玩了下,核心代码无非以下:
//AR视图:展示3D界面
@property(nonatomic,strong)ARSCNView *arSCNView;
添加模型方法一:
// Create a new scene
一,代码。
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSLog(@"
一、NSThread基本概念
NSThread是基于线程使用,轻量级的多线程编程方法(相对GCD和NSOperation),一个NSThread对象代表一个线程,需要手动管理线程的生命周期,处理线程同步等问题。
二、创建、启动线程
1、动态实例化 - 先创建再人工启动