IOS
文章平均质量分 58
AyaseEli
这个作者很懒,什么都没留下…
展开
-
ioS
hello原创 2015-09-15 08:10:04 · 484 阅读 · 0 评论 -
【深入浅出IOS开发】图形的裁剪
我们要做出以下的效果:①这里我们要新建一个图层②得到图层的设备上下文③在图层中绘制一个大圆,然后渲染到图层④然后绘制一个小圆,剪切,然后渲染到图层⑤绘制图片图层中⑥然后从当前图层中获得图片,显示到View中- (void)drawRect:(CGRect)rect{ UIImage *imageBackground = [UIImage imageNa原创 2014-12-25 20:37:34 · 1112 阅读 · 0 评论 -
【深入浅出IOS开发】图片剪切
我们常常需要将一个方形图片剪切成圆形,或者从某个大图里面获得一部分,这些时候我们通常用剪切。裁剪相当于一种属性,减掉前面绘制的图形以外的区域。所以我们裁剪过之后通常要恢复以前的绘图状态此时我们一般分以下三步:①保存当前的上下文状态 CGContextSaveGState(ctr);②在绘制好一些区域以后,进行裁剪 CGContextClip(ctr);③恢复裁剪原创 2014-12-24 22:58:32 · 1220 阅读 · 0 评论 -
【深入浅出IOS开发】图形上下文栈
图形上下文栈通过一种栈的形式保存的绘制格式。可以方便我们在设置过绘制格式之后,进行恢复。 ①开始绘制之前,保存设备上下文 CGContextSaveGState(ctr); ②渲染之后,恢复设备上下文 CGContextRestoreGState(ctr);//图形上下文栈void drawLine(CGRect rect, CGContextRef ctr)原创 2014-12-24 22:56:22 · 1405 阅读 · 0 评论 -
【深入浅出IOS开发】绘制一个小黄人
①首先绘制一个身体绘制身体的时候要分上中下三段,先设置坐标和长度,然后带入相应的函数中。一般圆形和弧形用圆心设置②绘制一个人的嘴型绘制嘴的时候要点是:通过贝塞尔曲线CGContextAddQuadCurveToPoint绘制。贝塞尔曲线分三个点:起始点,控制点,结束点我们通过控制点来约束起始点(CGContextMoveToPoint),和结束点。//绘制身体void原创 2014-12-24 22:40:01 · 815 阅读 · 0 评论 -
【深入浅出IOS开发】绘制图片
绘制图片分两步走:①要加载图片②通过图片对象进行绘制drawInRect 和 drawAtPoint//绘制图片void drawImage(CGRect rect){ //1.加载图片 UIImage *imageOne = [UIImage imageNamed:@"1"]; // NSLog(@"%@",self); //2.绘制图片到vie原创 2014-12-24 22:23:49 · 812 阅读 · 0 评论 -
【深入浅出IOS开发】设置图片水印
设置图片水印的本质就是将两张图片混合成一个图片。可以通过以下步骤来进行设置;①创建一个基于位图的上下文(开启一个基于位图的上下文)void UIGraphicsBeginImageContextWithOptions ( CGSize size, BOOL opaque, CGFloat scale )size表示图层的大小,一般设置成背景图的大小opaque表示是否透明:YE原创 2014-12-25 14:59:33 · 1425 阅读 · 0 评论 -
【深入浅出IOS开发】Xcode6中如何设置分类
Xcode6 中可以通过以下方式创建分类:以下是给一个UIImage添加Logo的分类#import @interface UIImage (MJ)+ (instancetype)waterImageWithBg:(NSString *)bg logo:(NSString *)logo;@end#import "UIImage+MJ.h"@impl原创 2014-12-25 15:32:01 · 764 阅读 · 0 评论 -
【深入浅出IOS开发】绘制文字
绘制文字通常分三步走:①创建字符串对象②设置字体格式③通过NSString方法绘制到View中//绘制文字void drawStr(){ //1.创建绘制文字 NSString *str = @"I Love Ranran"; //2.设置字体格式 NSMutableDictionary *dict = [NSMutableDictionary原创 2014-12-24 22:33:00 · 865 阅读 · 0 评论 -
【深入浅出IOS开发】截取屏幕到文件中
在这里首先明确,View中显示的东西都在在layer中的。我们通过renderInContext来渲染layer中的内容- (void)viewDidLoad { [super viewDidLoad]; //截取当前的View //1.创建图层 UIGraphicsBeginImageContextWithOptions(self.view.frame.s原创 2014-12-25 21:18:46 · 808 阅读 · 0 评论 -
【深入浅出IOS开发】彩票-重写按钮控件
①创建子类继承UIButton,然后关联相应的UIButton控件②重写initWithCoder 和 initWithFrame里面设置同样的代码,确保不管是通过代码还是xib,storyborad来创建Button都会执行③重写titleRectForContentRect和imgeRectForContentRect#import "MJTitleButton.h"#impor原创 2015-01-16 00:01:56 · 1006 阅读 · 0 评论 -
【深入浅出IOS开发】1.面搭建-彩票
实现如下功能:①自定义TabBarController中的TabBar②点击TabBar中的按钮会变高亮,其他的正常。③点击TabBar中的按钮,里面的子控制器切换如图:头文件#import @interface MRTabBarViewController : UITabBarController@property (nonatomic,weak) UIBu原创 2014-12-26 23:07:22 · 711 阅读 · 0 评论 -
My password
机器码 时间 水印内容 允许播放编号 禁止播放编号 播放密码8a344ec276ed2d1948a86e59d8d234652f77ca2b8a66f460ce0ba909520400655cc6a8e0cd2dad43f6dcf4063140d5140f0fe1fbdcd91d5bd52eafa22c5baab3523094cc6780d70d00d1b5a1fa55b6b7转载 2015-08-31 19:15:30 · 908 阅读 · 0 评论 -
UICollectionView 和 UIKit
1.UICollectionView http://www.devdiv.com/iOS_iPhone-ios_uicollectionview_-thread-128378-1-1.html http://www.devdiv.com/iOS_iPhone-ios_uicollectionview_circlelayout-thread-128893-1-1.html http://objc原创 2015-08-30 20:10:04 · 513 阅读 · 0 评论 -
【深入浅出IOS开发】彩票-去除图标的玻璃质感效果
Xcode5的做法Xcode4的做法原创 2015-01-17 14:34:12 · 641 阅读 · 0 评论 -
【深入浅出IOS开发】彩票-状态栏的设置
1.程序启动时隐藏状态栏2.程序启动完毕后再显示回状态栏(前提是状态栏交给了UIApplication管理)application.statusBarHidden = NO;原创 2015-01-17 14:36:45 · 559 阅读 · 0 评论 -
【深入浅出IOS开发】彩票-按钮中图片的拉伸
①UIImaegView的图片拉伸可以通过storyboard或者xib设置②UIButton不能通过storyboard或者xib设置,必须通过代码#import @interface UIImage (Extension)+ (UIImage *)resizableImage:(NSString *)name;@end#import "UIImage+Extensi原创 2015-01-17 14:24:42 · 759 阅读 · 0 评论 -
【深入浅出IOS开发】彩票-代理实现子Controller的切换
知识点一览:①TabBarController中通过设置selectedIndex来完成子控件的切换②自定义UIButon,重写 setHighLighted可以在多次点击按钮时候不会重新设置高亮③重写UITabBar的layOutSubViews可以设置控件的内部的元素的布局。④UIControllEventTouchDown 按钮只要点击就触发事件。重点:⑤代理实现子C原创 2014-12-28 00:48:44 · 1048 阅读 · 0 评论 -
【深入浅出IOS开发】彩票-NavigationController
// 判断是否为iOS7#define iOS7 ([[UIDevice currentDevice].systemVersion doubleValue] >= 7.0)①+ (void)initialize 系统在第一次使用这个类的时候调用(1个类只会调用一次)+ (void)initialize{ // 1.设置导航栏主题 UINavigation原创 2015-01-17 14:51:21 · 686 阅读 · 0 评论 -
【深入浅出IOS开发】重写按钮控件2
对这里的内容进行第二次封装:http://blog.csdn.net/ayaseeli/article/details/42204397#import "MJTabBar.h"#import "MJTabBarButton.h"@interface MJTabBar()/** * 记录当前选中的按钮 */@property (nonatomic, weak) MJT原创 2015-01-17 14:56:56 · 828 阅读 · 0 评论 -
【深入浅出IOS开发】使用路径进行绘制图形
①创建路径: CGMutablePathRef pathLine =CGPathCreateMutable();②在路径上绘制图形:CGPathMoveToPoint(pathLine,NULL, 0,0); CGPathAddLineToPoint(pathLine,NULL, 100,100);③将路径添加到设备上下文中CGContextAd原创 2014-12-24 23:58:53 · 644 阅读 · 0 评论 -
【深入浅出IOS开发】刷帧或者叫做重绘
这里要实现一个UIView,UIView中有一个圆。圆的半径通过UISlider来改变。①在ViewController中通过连线,添加UISiler的方法和MRView的成员变量。在UISlider方法中:self.circleView.radius = sender.value;②然后再MRView中绘制圆形,通过在setRadius里重绘来设置图形的变化原创 2014-12-24 23:22:30 · 1125 阅读 · 0 评论 -
【深入浅出IOS开发】在UIView中设置动画
#import "MSnowView.h"@interface MSnowView()@property (nonatomic, assign) CGFloat snowY;@end@implementation MSnowView- (void)awakeFromNib{ //刷新比较频繁的时候用这个 CADisplayLink *link = [CADisplayL原创 2014-12-25 13:35:08 · 747 阅读 · 0 评论 -
【深入浅出IOS开发】IOS绘图基础
1.绘图的常用步骤①获得设备上下文CGContextRef ctr = UIGraphicsGetCurrentContext();②在设备上下文绘图CGContextMoveToPoint(ctr, 10, 10); CGContextAddLineToPoint(ctr,50, 50);③渲染到相应的ViewCGContextFillPath原创 2014-12-20 08:01:38 · 615 阅读 · 0 评论 -
【深入浅出IOS开发】创建Model类型Controller
①在Appdelegate.m中实现以下代码:- (IBAction)model:(UIButton *)sender{ MRViewControllerTwo *vcTwo = [[MRViewControllerTwo alloc]initWithNibName:@"MRViewControllerTwo" bundle:nil]; UINavigationControll原创 2014-12-19 00:12:21 · 1015 阅读 · 0 评论 -
【深入浅出IOS开发】UITabBarController和UINavigationController混合使用
主要通过Storyb来设置界面,很少编码,有以下几点注意的事项。1.通过Images.xcassets来设置AppIcon和LaunchImage图标2.通过设置好一个TableViewCell,然后拷贝成相同的TableViewCell可以简化工作。3.如果要隐藏ViewController中的TabBar可以使用原创 2014-12-19 00:03:04 · 554 阅读 · 0 评论 -
【深入浅出IOS开发】UITabBarController简介
很多应用都是使用UITabBarController来完成的,本文主要讲解如何使用UITabBarController创建一个简单的应用:实现代码: UITabBarController *tb = [[UITabBarController alloc]init]; self.window.rootViewController = tb; UIVie原创 2014-12-18 23:44:49 · 575 阅读 · 0 评论 -
【深入浅出ios开发】存储一般的数据对象
一般通过NSKeyedArchiver来存储一般的对象:重点在encode和decode存储数据:- (IBAction)save:(id)sender { MrPerson *person = [[MrPerson alloc]init]; person.name = @"Ranran"; person.age = 16; person.h原创 2014-12-18 23:34:33 · 557 阅读 · 0 评论 -
【深入浅出ios开发】偏好设置
每个应用都有个NSUserDefaults实例,通过它来存取偏好设置保存数据:- (IBAction)save:(id)sender { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:@"Ranran" forKey:@"name"];原创 2014-12-18 23:31:32 · 567 阅读 · 0 评论 -
【深入浅出ios开发】数据存储-----XML属性列表(plist)归档
①存储数据:1.获得home路径:NSString *home = NSHomeDirectory();2.通过home路径获得Documents/xxx.plist路径3.往相应的路径写数据- (IBAction)save:(id)sender { NSString *home = NSHomeDirectory(); NSLog(@"%@",home);原创 2014-12-18 23:00:13 · 907 阅读 · 0 评论 -
【IOS开发】UIImage 和 NSString的保存
主要用的函数和方法上一篇中都有介绍,这里就不在重复了。ruguo原创 2014-11-13 10:35:15 · 992 阅读 · 0 评论 -
【深入浅出IOS开发】Xcode 6如何创建一个空的Empty Application
①运行Xcode 6,创建一个Single View Application工程②创建好后,把工程目录下的Main.storyboard和LaunchScreen.xib删除,扔进废纸篓③打开Info.plist,把Launch screen interface file base name,以及Main storyboard file base name两项,删除原创 2014-12-04 16:09:46 · 1768 阅读 · 0 评论 -
【深入浅出ios开发】UIActionSheet
①本想花点时间来讲解这玩意的。不过看到了官方文档立马放弃了。https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIActionSheet_Class/重要的:UIActionSheet已经被IOS8所抛弃。(UIActionSheetDelegate也被摒弃了)如果想闯将并且管理action sh原创 2014-12-05 14:49:25 · 638 阅读 · 0 评论 -
【深入浅出ios开发】NSNotificationCenter
我们经常要监听消息,监听消息一般有三种方法:第一种用控件的addtarget来监听消息。第二种通过delegate来监听消息。这里我们讲解用NSNotificationCenter来监听消息。这里有详细的文档:原创 2014-12-05 10:11:02 · 819 阅读 · 0 评论 -
【深入浅出ios开发】使用代理进行传值
一般在ios开发中通过segue过度进行传值,有些时候可能不行,例如两个UIviewcontroller之间相互传值。这时候我们一般通过代理来进行传值。由于自己是C++出身,对设计模式也有所了解,这里就简单的用个实例来讲解代理模式如何通过代理进行传值。某公司接到一个项目,于是项目经理开始写计划,然后进行软件的基本架构。这时候他发现自己一个人无法在预定的时间里完成这个软件。于是他就开始招人,原创 2014-12-07 22:58:34 · 698 阅读 · 0 评论 -
【深入浅出ios开发】UIStoryboardSegue详解
一个UIStoryboardSegue对象负责执行两个试图控制器之间的视觉过渡。另外,segue对象通常用来准备从一个控制器过渡到另一个控制器。segue对象包含了涉及过渡的控制器的信息。当segue被触发,并且在视觉过渡发生之前,正在运行的storyboard调用当前的视图控制器的prepareForSegue:sender:方法从而可以传送任何将要展示的必须数据到下一个视图控制器。原创 2014-12-06 21:15:11 · 1315 阅读 · 0 评论 -
【深入浅出IOS开发】Info.plist常见的设置
①建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件②常见属性(红色部分是用文本编辑器打开时看到的key)Localiztion native development region(CFBundleDevelopmentRegion)-本地化相关Bundle display name(CFBundleDispl原创 2014-12-05 15:29:56 · 822 阅读 · 0 评论 -
【深入浅出IOS开发】UIViewController详解
视图控制器用来创建并且管理新的View,我们一般可以通过三种方式来创建UIViewController:①通过代码来创建②通过UIStoryboard来创建③通过xib来创建原创 2014-12-04 17:06:26 · 924 阅读 · 0 评论 -
【深入浅出IOS开发】UIWindow详解er
①一个app程序只有一个UIWindow,一般是在程序启动的时候后创建UIWindow。接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。②如何添加View到Window1.- (void)addSubview:(UIView *)view;直接将view添加到UIWindow中,但并不会理会view对应的UIVie原创 2014-12-04 16:53:49 · 1028 阅读 · 0 评论 -
【深入浅出IOS开发】Xcode6如何设置storyboard中Controller的开始箭头
Xcode 6中拖出一个Controller发现里面没有了开始箭头,于是可以通过设置属性。然后就会发现里面的Controller前面有了开始箭头原创 2014-12-05 15:02:33 · 2298 阅读 · 0 评论