06 2016 档案
摘要:什么时候用通知,什么时候用代理,什么时候用block 通知 : 两者关系层次太深,八竿子打不着的那种最适合用通知.因为层级结构深了,用代理要一层一层往下传递,代码结构就复杂了 代理 : 父子关系,监听的方法较多的时候使用 block : 父子关系,监听的方法较少的时候使用 Swift中的代理 swi
阅读全文
摘要:1.未登录界面的实现 微博项目中,用户不登录的话,显示的是未登录的界面.项目中TabBarVC的子控制器都是tableViewVC,所以抽取了父类,让父类判断用户是否登录,决定显示什么样的界面.loadView方法决定了控制器上view的样式,所以父类通过重写这个方法来实现 未登录界面通过xib来描
阅读全文
摘要:Swift中的分类 1.创建一个空的swift文件 2.关键字extension,格式: extension 要扩展的类名 {} Swift中扩展init方法的注意事项 如果构造方法前面没有convenience单词,代表是一个初始化构造方法(指定构造方法). 如果构造方法前面有convenienc
阅读全文
摘要:1.Swift中的访问修饰符(三个,作用:用来修饰属性,方法和类) public : 最大权限 可以在当前framework和其他framework中访问 internal : 默认的权限 可以在当前的framework中随意访问 private : 私有权限 只有在当前文件中访问 2.开发中不应该
阅读全文
摘要:TabBar中间按钮的添加方案 之前做百思项目的时候,也有一个中间按钮,当时是重写的TabBar,这里介绍一个新的方法 给TabbarVC多添加添加一个控制器,这个控制器的作用仅仅是用来占位的,多了这个控制器中间才会空出一个按钮的位置,不设置文字,不设置图片 懒加载按钮,注意swift懒加载的书写
阅读全文
摘要:Swift中的异常处理 OC中的异常处理:方法的参数要求传入一个error指针地址,方法执行完后,如果有错误,内部会给error赋值 Swift中的异常处理:有throws的方法,就要try起来,然后do {}catch {do中出现错误异常才执行这里的代码}进行处理 格式: Swift中异常处理的
阅读全文
摘要:Swift中的可选绑定和守护绑定 1.可选绑定 格式 缺点:当可选类型太多的时候,需要进行多次判断,然后代码就成狗了,如下 守护绑定 苹果考虑到了狗一样的代码,推出了守护绑定,关键字: ;格式如下 `注意:else的大括号里面一定return出去`
阅读全文
摘要:Swift中用类名字符串创建类(用到了命名空间) OC中可以直接通过类名的字符串转换成对应的类来操作,但是Swift中必须用到命名空间,也就是说Swift中通过字符串获取类的方式为 得到了类名之后还不算完,Swift中通过class创建一个对象,必须告诉系统class的类型type 项目中的代码 外
阅读全文
摘要:Swift中的自定义Log OC中有宏的定义,可以定义自己的Log,但是Swif中没有宏的定义,想要实现类似OC中的自定义Log,必须实现以下操作 1.在AppDelegate.swift文件中定义一个方法,在类的大括号以外定义(这样就是全局的一个方法,项目中全世界可用) 2.还要配置以下宏 3.使
阅读全文
摘要:开源中国社区 官方网站 https://git.oschina.net/ 开源中国社区成立于2008年8月,其目的是为中国的IT技术人员提供一个全面的、快捷更新的用来检索开源软件以及交流使用开源经验的平台 目前国内有很多公司会将公司的项目部署在 OSChina 与 GitHUB 的对比 使用 注册账
阅读全文
摘要:一.根据美工提供的图片,可以有两种换肤的方案. <1>美工提供图片的类型一: <2>美工提供图片的类型二:这种分了文件夹文件名都一样的情况,拖入项目后最后用真实文件夹(蓝色文件夹).因为项目中的黄色文件夹都是虚拟不存在的,同名的文件只会保留一个 勾选第二个: 二.工具类的抽取 -- 以第二种图片的方
阅读全文
摘要:一.需要包含头文件 #import <AVFoundation/AVFoundation.h> 二.通过设置<AVCaptureMetadataOutputObjectsDelegate>代理可以监听扫描到的二维码中的信息 三.具体代码
阅读全文
摘要:一.需要包含头文件 #import <CoreImage/CoreImage.h> 二.示例代码 -- 以下生成的二维码不够清晰 如图: 三.调用下面方法可以生成清晰的二维码图片,用的时候也可以给UIImage添加一个分类.这里没有抽取分类.如图:
阅读全文
摘要:一.MPMoviePlayerViewController和MPMoviePlayerController区分开,前者继承自NSObject,后者继承自UIViewController 二.MPMoviePlayerViewController只能用modal出来的形式播放,并且一定是全屏的播放
阅读全文
摘要:一.包含头文件#import <MediaPlayer/MediaPlayer.h> 二.重点:给MPMoviePlayerController的view设置frame,并且将view添加到某一个view上
阅读全文
摘要:一.简单的播放音乐和视频,播放视频的工具栏需要自己写 二.利用老师封装的框架实现视频播放 链接:http://pan.baidu.com/s/1hrEKlus 密码:8e7g
阅读全文
摘要:一.设置后台播放 首先允许程序后台播放 代码实现 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 2 3 // 设置后台播
阅读全文
摘要:一.歌词的展示 -- 首先歌词是在scrollView上,scrollView的大小是两个屏幕的宽度 scrollView滚动修改透明度的代码 自定义展示歌词的view,继承自UIScrollView,向外界提供一个歌词文件名的属性 /** 歌词文件的名字 */ @property(nonatomi
阅读全文
摘要:一.定时器的使用技巧 -- 定义好了定时器后,添加两个方法,一个是添加定时器的方法,另一个是移除定时器的方法. 使用的时候也要注意,一定先移除之前的timer,然后再添加timer
阅读全文
摘要:一.旋转动画的实现 二.音乐工具类的封装 -- 返回所有歌曲,返回当前播放歌曲,设置当前播放歌曲,返回下一首歌曲,返回上一首歌曲方法的实现 头文件 .m文件 1 #import "ChaosMusicTool.h" 2 #import "MJExtension.h" 3 #import "Chaos
阅读全文
摘要:代码: // 修改进度条的指针图片 [self.progressSlider setThumbImage:[UIImage imageNamed:@"player_slider_playback_thumb"] forState:UIControlStateNormal]; 原来的样子: 现在的样子
阅读全文
摘要:一.美工出图 二.第三方框架 -- DRNRealTimeBlur,框架继承自UIView.使用方法:创建UIView直接继承自框架的View,就有了毛玻璃效果 三.CoreImage -- 图片加高斯模糊 四.添加UIToolBar控件
阅读全文
摘要:一.头文件 二..m文件方法的实现
阅读全文
摘要:一.音效的播放简单实现 二.音效播放的封装 -- 封装思路:将生成的SystemSoundID存放到字典中,每次播放的时候从字典中取出对应的SystemSoundID,没有的话再创建 头文件中定义类方法 代码实现 #import "ChaosAudioTool.h" #import <AVFound
阅读全文
摘要:由于simulator设置里面没有新浪微博的选项,所以选择了真机调试,成功了.代码不多,包含头文件 没有配置登录信息的话,是没有作用的 具体代码实现 1 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 2 { 3 //
阅读全文
摘要:预习:URL由两部分组成-- 1.scheme:协议头(http:// ftp:// 等等) 2.path:路径(URL中path可以没有) 一.简单实现跳转到指定APP(也就是说跳转到的APP必须有自己的URL) -- 测试APP跳转到wechatAPP 设置APP的URL 在测试APP中点击按钮
阅读全文
摘要:由于IOS加入对用户隐私以及禁止扫描系统信息的控制,目前通过canOpenURL的方法来判断用户是否安装特定app,则会出现-canOpenURL: failed for URL: "ABC://app/*******/" - error: "This app is not allowed to q
阅读全文
摘要:如果BarButtonItem是通过[[UIBarButtonItem alloc] initWithCustomView:(nonnull UIView *)]方法设置的.某些情况下需要修改BarButtonItem中自定义View的某些属性,例如显示的文字或者显示的图片. 可以通过BarButt
阅读全文
摘要:一.主界面的搭建,效果图.设置self.navigationItem.leftBarButtonItems属性. 由于leftBarButtonItem是通过xib文件创建的,通过xib创建的控件默认跟随父控件的大小而变化 解决方法:取消xib的autoLayout,取消xib的高度自动拉伸和宽度自
阅读全文
摘要:一.iOS7之前的Popover的使用 对Popover进行懒加载处理 内容控制器中设置Popover弹出后的尺寸 设置显示的位置,两种情况.1 -- 给BarButtonItem设置Popover的位置; 2 -- 给其他View设置Popover的位置 二.iOS8中的Popover使用 --
阅读全文
摘要:可以设置modal的呈现样式,常见的有以下四种 设置modal的过度样式,也就是展现时候的动画效果 代码示例
阅读全文
摘要:
阅读全文
摘要:一.主界面横竖屏效果图 二.主界面加载, 初始化Dock(红色框的控件),判断程序启动时的屏幕方向.调用自己- (void)transitionToLandScape:(BOOL)isLandScape;方法,通知子控件屏幕方向改变,将此事件一直传递下去 程序运行过程中屏幕方向改变会调用- (voi
阅读全文
摘要:一.TextField取消自动纠错和设置自身对应键盘的return键盘的样式 二.程序运行过程中,监听return键点击,实现相应操作
阅读全文
摘要:一.登录模块 登录逻辑 1 - (IBAction)loginClick:(UIButton *)sender { 2 3 self.view.userInteractionEnabled = NO; 4 5 [self.view endEditing:YES]; 6 7 [self.activeV
阅读全文

浙公网安备 33010602011771号