1 , ios开发一般使用什么编程语言iOS开发主流编程语言是Object-C以及Swift 。Objective-C主要用于iOS开发 。Objective-C在C的基础上,加入面向对象特性而成的编程语言 。Swift是苹果公司在2014上发布的全新开发语言 。Swift内在依然是Object-C , 但Swift大大地降低了开发门槛 。常规的C和C++亦可用于iOS开发 。但使用C和C++做ios开发的人越来也少 。
2,iOS常用代码//图片透明- (UIImage *)imageWithColor:(UIColor *)colorCGRect rect = CGRectMake(0.0f,0.0f, 1.0f,1.0f);UIGraphicsBeginImageContext(rect.size);CGContextRef context =UIGraphicsGetCurrentContext();CGContextSetFillColorWithColor(context, [color CGColor]);CGContextFillRect(context, rect);UIImage *image =UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();return image;}用:friendbg.image =[self imageWithColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.4]];;在AppDelegate.m的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法里写[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];MainViewController *main = [[MainViewController alloc]init];UINavigationController*nav = [[UINavigationController alloc]initWithRootViewController:main];self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];//创建并初始化UITabBarControllerself.window.rootViewController = nav;nav.navigationBarHidden = YES;[self.window makeKeyAndVisible];cell.h 中+(instancetype)xibTableViewCell;cell.m 中+(instancetype)xibTableViewCell//在类方法中加载xib文件,注意:loadNibNamed:owner:options:这个方法返回的是NSArray,所以在后面加上firstObject或者lastObject或者[0]都可以;因为我们的Xib文件中,只有一个cellreturn [[[NSBundle mainBundle] loadNibNamed:@"treasureCell" owner:nil options:nil] lastObject];}控制器.m中- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 方法中static NSString *cellIndentifier = @"treasureCell";//这里的cellID就是cell的xib对应的名称treasureCell *cell = (treasureCell *)[tableView dequeueReusableCellWithIdentifier:cellIndentifier];if(nil == cell)NSArray *nib = [[NSBundle mainBundle] loadNibNamed:cellIndentifier owner:self options:nil];cell = [nib objectAtIndex:0]; //中间宽线cell.selectionStyle = UITableViewCellSelectionStyleNone;}return cell;// 手机版本控制#define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGTH))#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)#define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)#define IS_IPHONE_6p (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)#define ceshiURL @"http://192.168.2.84:5000"//利好利空测试服务器//判断是不是IPhoneX#define isPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)// NSUserDefaults#define UserSet(obj, key) [[NSUserDefaults standardUserDefaults] setObject:obj forKey:key]#define UserObj(key) [[NSUserDefaults standardUserDefaults] objectForKey:key]#define UserSave [[NSUserDefaults standardUserDefaults] synchronize]// 登录状态#define IsLogin [[[NSUserDefaults standardUserDefaults] objectForKey:@"UseIsLogin"] isEqualToString:@"1"] ? 1 : 0//获取屏幕宽高#define KScreenWidth [[UIScreen mainScreen]bounds].size.width#define KScreenHeight [[UIScreen mainScreen]bounds].size.height#define kScreen_Bounds [UIScreen mainScreen].bounds#define kScreenBg [UIColor colorWithRed:0 green:0 blue:0 alpha:0.2];//颜色#define BGColor UICOLOR_HEX(0xfff8f8f8)//主背景颜色 (灰色)#define MainColor UICOLOR_HEX(0xfffab615)//主颜色 (黄色)#define TitleColor UICOLOR_HEX(0xff333333)//字颜色 (灰黑色)#define MainWrightColor UICOLOR_HEX(0xffFFFFFF)//主白色颜色 (白色)#define MainBlueColor UICOLOR_HEX(0xff08c9e6)//主蓝色颜色 (蓝色)#define MainBlColor UICOLOR_HEX(0xff008fd1)//背景浅蓝色#define MainTextColor UICOLOR_HEX(0xff00faeb)//文字淡蓝色//获取16进制32位色的UIColor对象#define UICOLOR_HEX(x) \[UIColor \colorWithRed:(float)((float)((x>>16)&0xFF)/0xFF) \green:(float)((float)((x>>8)&0xFF)/0xFF) \blue:(float)((float)(x&0xFF)/(float)0xFF) \alpha:(float)((float)((x>>24)&0xFF)/(float)0xFF) \]////设置状态栏字体提- (UIStatusBarStyle)preferredStatusBarStylereturn UIStatusBarStyleLightContent;//为白色return UIStatusBarStyleDefault;//黑色}【ios开发常用代码有哪些,ios开发一般使用什么编程语言】
3,开发iOS软件一般用什么编程语言呢原生的应该是 Object C,开发环境是 Xcode 。OC C++ 15字15字开发手机app所要使用的编程语言app开发的语言有很多种,主要为以下四种:1. ios平台开发语言为objective-c , 开发者一般使用苹果公司开发的ios sdk 搭建开发环境,ios sdk是开发iphone和ipad 应用程序过程中必不可少的软件开发包,提供了从创建程序,到编译,调试,运行,测试等一些列开发过程中所需要的工具;2. 安卓 android开发语言为java,开发者一般是用谷歌公司开发的android sdk搭建开发环境,使用java进行安卓应用的开发;3. 微软windows phone7开发语言是c#;4. 塞班symbian系统版本开发语言是c++;苹果IOS系统的应用软件开发是objective-c 。安卓系统的应用软件应该是java,如果底层点的就是C或者C++了 。
4,常用代码合集1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabled = YES;2、隐藏某行cell- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath// 如果是你需要隐藏的那一行 , 返回高度为0if(indexPath.row == YouWantToHideRow)return 0;}return 44;}// 然后再你需要隐藏cell的时候调用[self.tableView beginUpdates];[self.tableView endUpdates];3、禁用button高亮button.adjustsImageWhenHighlighted = NO;4、tableview遇到这种报错failed to obtain a cell from its dataSource是因为你的cell被调用的早了 。先循环使用了cell,后又创建cell 。顺序错了可能原因:1、xib的cell没有注册 2、内存中已经有这个cell的缓存了(也就是说通过你的cellId找到的cell并不是你想要的类型),这时候需要改下cell的标识5、去除数组中重复的对象NSArray *newArr = [oldArr valueForKeyPath:@“@distinctUnionOfObjects.self"];6、动态修改ableView的tableHeaderView或者tableFooterView的高度开发中如果要动态修改tableView的tableHeaderView或者tableFooterView的高度,需要给tableView重新设置,而不是直接更改高度 。正确的做法是重新设置一下tableView.tableFooterView = 更改过高度的view 。为什么?其实在iOS8以上直接改高度是没有问题的,在iOS8中出现了contentSize不准确的问题,这是解决办法 。7、collectionView的内容小于其宽高的时候是不能滚动的,设置可以滚动:collectionView.alwaysBounceHorizontal = YES;collectionView.alwaysBounceVertical = YES;8、颜色转图片+ (UIImage *)cl_imageWithColor:(UIColor *)colorCGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);UIGraphicsBeginImageContext(rect.size);CGContextRef context = UIGraphicsGetCurrentContext();CGContextSetFillColorWithColor(context, [color CGColor]);CGContextFillRect(context, rect);UIImage *image = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();return image;}9、view设置圆角#define ViewBorderRadius(View, Radius, Width, Color)[View.layer setCornerRadius:(Radius)];\[View.layer setMasksToBounds:YES];\[View.layer setBorderWidth:(Width)];\[View.layer setBorderColor:[Color CGColor]] // view圆角10、强/弱引用#define WeakSelf(type)__weak typeof(type) weak##type = type; // weak#define StrongSelf(type)__strong typeof(type) type = weak##type; // strong11、由角度转换弧度#define DegreesToRadian(x) (M_PI * (x) / 180.0)12、由弧度转换角度#define RadianToDegrees(radian) (radian*180.0)/(M_PI)13、获取app缓存大小- (CGFloat)getCachSizeNSUInteger imageCacheSize = [[SDImageCache sharedImageCache] getSize];//获取自定义缓存大小//用枚举器遍历 一个文件夹的内容//1.获取 文件夹枚举器NSString *myCachePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];NSDirectoryEnumerator *enumerator = [[NSFileManager defaultManager] enumeratorAtPath:myCachePath];__block NSUInteger count = 0;//2.遍历for (NSString *fileName in enumerator)NSString *path = [myCachePath stringByAppendingPathComponent:fileName];NSDictionary *fileDict = [[NSFileManager defaultManager] attributesOfItemAtPath:path error:nil];count += fileDict.fileSize;//自定义所有缓存大小}// 得到是字节转化为MCGFloat totalSize = ((CGFloat)imageCacheSize+count)/1024/1024;return totalSize;}14、清理app缓存- (void)handleClearView//删除两部分//1.删除 sd 图片缓存//先清除内存中的图片缓存[[SDImageCache sharedImageCache] clearMemory];//清除磁盘的缓存[[SDImageCache sharedImageCache] clearDisk];//2.删除自己缓存NSString *myCachePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];[[NSFileManager defaultManager] removeItemAtPath:myCachePath error:nil];}15、几个常用权限判断if ([CLLocationManager authorizationStatus] ==kCLAuthorizationStatusDenied)NSLog(@"没有定位权限");}AVAuthorizationStatus statusVideo = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];if (statusVideo == AVAuthorizationStatusDenied)NSLog(@"没有摄像头权限");}//是否有麦克风权限AVAuthorizationStatus statusAudio = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio];if (statusAudio == AVAuthorizationStatusDenied)NSLog(@"没有录音权限");}[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status)if (status == PHAuthorizationStatusDenied)NSLog(@"没有相册权限");}}];16、长按复制功能- (void)viewDidLoad[self.view addGestureRecognizer:[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(pasteBoard:)]];}- (void)pasteBoard:(UILongPressGestureRecognizer *)longPressif (longPress.state == UIGestureRecognizerStateBegan)UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];pasteboard.string = @"需要复制的文本";}}17、image拉伸+ (UIImage *)resizableImage:(NSString *)imageNameUIImage *image = [UIImage imageNamed:imageName];CGFloat imageW = image.size.width;CGFloat imageH = image.size.height;return [image resizableImageWithCapInsets:UIEdgeInsetsMake(imageH * 0.5, imageW * 0.5, imageH * 0.5, imageW * 0.5) resizingMode:UIImageResizingModeStretch];}18、JSON字符串转字典+ (NSDictionary *)parseJSONStringToNSDictionary:(NSString *)JSONStringNSData *JSONData = [JSONString dataUsingEncoding:NSUTF8StringEncoding];NSDictionary *responseJSON = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingMutableLeaves error:nil];return responseJSON;}19、画水印// 画水印- (void) setImage:(UIImage *)image withWaterMark:(UIImage *)mark inRect:(CGRect)rectif ([[[UIDevice currentDevice] systemVersion] floatValue] >= 4.0)UIGraphicsBeginImageContextWithOptions(self.frame.size, NO, 0.0);}//原图[image drawInRect:self.bounds];//水印图[mark drawInRect:rect];UIImage *newPic = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();self.image = newPic;}20、身份证号验证- (BOOL)validateIdentityCardBOOL flag;if (self.length <= 0)flag = NO;return flag;}NSString *regex2 = @"^(\\dNSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];return [identityCardPredicate evaluateWithObject:self];}21、移除字符串中的空格和换行+ (NSString *)removeSpaceAndNewline:(NSString *)strNSString *temp = [str stringByReplacingOccurrencesOfString:@" " withString:@""];temp = [temp stringByReplacingOccurrencesOfString:@"\r" withString:@""];temp = [temp stringByReplacingOccurrencesOfString:@"\n" withString:@""];return temp;}22、判断字符串中是否有空格+ (BOOL)isBlank:(NSString *)strNSRange _range = [str rangeOfString:@" "];if (_range.location != NSNotFound)//有空格return YES;} else//没有空格return NO;}}22、获取一个视频的第一帧图片NSURL *url = [NSURL URLWithString:filepath];AVURLAsset *asset1 = [[AVURLAsset alloc] initWithURL:url options:nil];AVAssetImageGenerator *generate1 = [[AVAssetImageGenerator alloc] initWithAsset:asset1];generate1.appliesPreferredTrackTransform = YES;NSError *err = NULL;CMTime time = CMTimeMake(1, 2);CGImageRef oneRef = [generate1 copyCGImageAtTime:time actualTime:NULL error:&err];UIImage *one = [[UIImage alloc] initWithCGImage:oneRef];return one;23、获取视频的时长+ (NSInteger)getVideoTimeByUrlString:(NSString *)urlStringNSURL *videoUrl = [NSURL URLWithString:urlString];AVURLAsset *avUrl = [AVURLAsset assetWithURL:videoUrl];CMTime time = [avUrl duration];int seconds = ceil(time.value/time.timescale);return seconds;}24、UILabel设置内边距子类化UILabel,重写drawTextInRect方法- (void)drawTextInRect:(CGRect)rect// 边距,上左下右UIEdgeInsets insets =[super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];}25、UILabel设置文字描边子类化UILabel,重写drawTextInRect方法- (void)drawTextInRect:(CGRect)rectCGContextRef c = UIGraphicsGetCurrentContext();// 设置描边宽度CGContextSetLineWidth(c, 1);CGContextSetLineJoin(c, kCGLineJoinRound);CGContextSetTextDrawingMode(c, kCGTextStroke);// 描边颜色self.textColor = [UIColor redColor];[super drawTextInRect:rect];// 文本颜色self.textColor = [UIColor yellowColor];CGContextSetTextDrawingMode(c, kCGTextFill);[super drawTextInRect:rect];}26、在状态栏增加网络请求的菊花,类似safari加载网页的时候状态栏菊花[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;27、修改cell.imageView的大小UIImage *icon = [UIImage imageNamed:@""];CGSize itemSize = CGSizeMake(30, 30);UIGraphicsBeginImageContextWithOptions(itemSize, NO ,0.0);CGRect imageRect = CGRectMake(0.0, 0.0, itemSize.width, itemSize.height);[icon drawInRect:imageRect];cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();28、为一个view添加虚线边框CAShapeLayer *border = [CAShapeLayer layer];border.strokeColor = [UIColor colorWithRed:67/255.0f green:37/255.0f blue:83/255.0f alpha:1].CGColor;border.fillColor = nil;border.lineDashPattern = @[@4, @2];border.path = [UIBezierPath bezierPathWithRect:view.bounds].CGPath;border.frame = view.bounds;[view.layer addSublayer:border];29、UITextView中打开或禁用复制,剪切,选择,全选等功能// 继承UITextView重写这个方法- (BOOL)canPerformAction:(SEL)action withSender:(id)sender// 返回NO为禁用,YES为开启// 粘贴if (action == @selector(paste:)) return NO;// 剪切if (action == @selector(cut:)) return NO;// 复制if (action == @selector(copy:)) return NO;// 选择if (action == @selector(select:)) return NO;// 选中全部if (action == @selector(selectAll:)) return NO;// 删除if (action == @selector(delete:)) return NO;// 分享if (action == @selector(share)) return NO;return [super canPerformAction:action withSender:sender];}30、tableViewCell分割线顶到头- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath[cell setSeparatorInset:UIEdgeInsetsZero];[cell setLayoutMargins:UIEdgeInsetsZero];cell.preservesSuperviewLayoutMargins = NO;}- (void)viewDidLayoutSubviews[self.tableView setSeparatorInset:UIEdgeInsetsZero];[self.tableView setLayoutMargins:UIEdgeInsetsZero];}5 , ios系统软件开发使用那种开发程序和语言ios开发环境ide是xcode`!语言用的是objective-cios是苹果的专用,目前就业和发展还不错,但作为苹果独占,如果苹果失去市场,也就废了 。c++作为通用的面向对象语言,市场需求也不小,就长远来看,更推荐c++ 。目前,两种学好了都好就业 。ios就是用的c++编程 , 所以你这么问没有意义 。学好了就业很容易,前提是要学好是用的C++写的,其实基本就是C++、C#、java这三大语言开发的OC:全程,objective-C虽说用的是Objective-C这种我觉得并不怎么样的语言(相比C# java差多了)不过apple给出的SDK中集成了大量的实用框架,我们称之为Cocoa开发工具是apple家的Xcode 当然,这一切的一切,都要以你有一台苹果电脑为前提...或者你在windows中安装MacOS的虚拟机.开发语言是Object C,开发环境是 Xcode 。Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由苹果公司开发 。Xcode是开发OS X 和 iOS应用程序的最快捷的方式 。Xcode 具有统一的用户界面设计 , 编码、测试、调试都在一个简单的窗口内完成 。Object-C通常写作Objective-C或者Obj-C或OC,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言 。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统 , 而在NeXTSTEP和OpenStep中它更是基本语言 。Objective-C可以在gcc运作的系统写和编译 , 因为gcc含Objective-C的编译器 。在MAC OS X系统下 , 运用苹果提供的SDK等开发工具包,可以用来做IOS开发 , 开发后的程序在Iphone虚拟机中进行测试,运用的主要语言为Object-c 。与C#类似 。Object-c仅支持单一父类继承,不支持多重继承 。6,苹果系统用什么语言开发的c 和 少量的汇编语言!XP 也是 这样写出来的!ios开发语言是Objective-C,用的开发工具是Xcode 。ios系统的开发语言Objective-C语言,是一种面向对象的编程语言,那也就是C语言的扩充语言,也就是说在c的基础上升级的语言 , 那么如果是开发的人员的角度来说,如果懂得C语言,那么在做Objective-C开发或者是学习就非常方便,那么目前Objective-C语言主要是用于Mac OS X和GNUstep这两个使用OpenStep标准的系统上 。Xcode开发工具从诞生到现在已经有28个版本了 , 那么Xcode是苹果公司向开发人员提供一种在ios基础开发的一种基础开发环境工具,最初也基于mac操作系统下,那么也就是说,做苹果相关产品的应用开发,几乎都是苹果公司提供的Xcode开发工具 。扩展资料:苹果公司一直在尝试降低Objective-C语言的复杂度淘汰手动内存管理以及C标准头文件,引入更符合当下编程语言潮流的ARC机制,还有通过7a686964616fe58685e5aeb931333431373164.语法来访问属性的getter/setter方法等等,都是为了降低Objective-C的学习难度 。即便如此,学习Objective-C仍然需要克服学习门槛 。它的热度完全是由基于Objective-C编写的热门iOS应用带起来 。Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由Apple Inc开发 。Xcode是开发 macOS 和 iOS 应用程序的最快捷的方式 。Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成 。Xcode同时也是一种语言,作为一种基于XML的语言,Xcode可以设想各种使用场景 。它提供了一种独立于工具的可扩展的方法来描述编译时组件的各个方面 。参考资料来源:百度百科-xcode参考资料来源:百度百科-Objective-CMac OS X 的面向复对象的开发平台,支持Objective-C 和Java 语言 , 基本上是从制Next Step 带多来的东西,再增加支持苹果和Java这是OS X Cocoa (”可可“)编程的首选语言,如果2113懂5261C/C++/Java(任一)和面向对象编程,学obj-c 很容易 。如果你实在不喜欢用Obj-c , 或者不打算只为Mac献身,那就用Java 语言吧,这样你4102还可以带1653着一身Java 功夫而从容辗转于各个平台之间 。miller说的是对的,他答案是正确的,你的分可以给他了 。mac os x 的面向对象的开发平台,支持objective-c 和java 语言,基本上是从next step 带多来的东西,再增加支持苹果和java 这是os x cocoa (”可可“)编程的首选语言 , 如果懂c/c++/java(任一)和面向对象编程,学obj-c 很容易 。如果你实在不喜欢用obj-c , 或者不打算只为mac献身,那就用java 语言吧 , 这样你还可以带着一身java 功夫而从容辗转于各个平台之间 。
推荐阅读
- 安卓卓大师电脑版,安卓手机忘记解锁图案电脑自行下载
- 安卓底部导航栏怎么开,点击导航列图标即可隐藏导航栏
- 安卓应用加固实现,安卓app加固web链接
- aimp3安卓中文版,本地首个无损音乐文件播放平台正式推出
- 安卓点击器,屏幕自动点击器 本人安卓系统 必须有用不然不采纳
- 苹果手机画画软件app,iPhone上最好的绘画软件是什么
- 安卓 拼音,如何在安卓手机中使用拼音下载文字?
- 爱奇艺影音安卓,美国纽约时代广场爱奇艺打出大广告庆祝上市
- 苹果小圆圈在哪里关闭,苹果手机怎么关闭小白点