使用HTML5+Native方式开发APP时,需要禁用掉UIWebView前进和后退功能,可以使用以下三种方式实现,三种方法同时使用亦可。 1.APP内使用native代码修改UIWebView功能禁止。 直接覆盖UIWebView返回判断功能,前进亦可在此处禁止 @interface UIWebView(no_back_forward) – (BOOL) canGoBack; – (BOOL) canGoForward; @end @implementation UIWebView(no_back_forward) – (BOOL) canGoBack { return NO; } – (BOOL) canGoForward { return NO; } @end
Tag Archives: Objective-C
[iOS]UILabel取消自动Trim空格和换行等空白字符
iOS7.0以后的UILabel会自动将Text行尾的空白字符全部去除,除了常见的半角空格(\0x20)和制表符(\t)之外,全角空格(\u3000)也被计算在内,甚至连多余的换行符(\r,\n)也被自动去除了。这一点虽然方便直接将控件赋值和无需取值后再trim,但是太过智能化了之后,往往不能满足一些本可以简单实现的需求。
[iOS]CoreGraph在64位模式下与NSString drawInRect冲突
iOS SDK支持64bit后,大部分代码可以直接无缝转换并通过编译,但是这些代码在运行时可能会有所差异,所以开发时需要特别注意,Cocoa-Charts在开发过程中就发现了这类问题。 问题现象: CoreGraph绘图方法与NSString的drawInRect方法在64Bit下存在着冲突,64Bit下调用drawInRect之后会导致CGContext中的path被清空从而使CGContextStrokePath不进行任何绘图操作,而32Bit下没有任何问题。
[iOS]使用UIActivityViewController实现AirDrop功能
AirDrop是iOS7中新增的一个近距离分享功能,两个相邻的iOS设备可以通过AirDrop实现传递图片、文件等功能,有了AirDrop基本上可抛弃类似Dropbox的ShareLink和PublicFolder功能。 iOS7的SDK中已经在UIActivityViewController中内置了AirDrop功能,使用时与分享到twitter和facebook的方式基本一致,只需要将需要传递的文件URL设置给UIActivityViewController对象的ActivityItems对象即可,区别在于:如果传递文件,那么URL应该是“file://”开头,而不是常见的“http://”开头
[iOS]Makefile交叉编译静态库TA-lib
为了使Cocoa-Charts支持客户端数据计算,需要为Cocoa-Charts增加技术分析数据计算功能,目前比较通用的是TA-lib,但是TA-lib没有提供iOS版本的静态库文件,因此需要在X86平台上交叉编译适用于iPhone模拟器和iPhone真机的TA-lib静态库,用于调试和开发iOS应用程序,使TA-lib支持ARMv7 ARMv7s i386等系统架构的多种iPhone机型或模拟器。
[iOS]Xcode5下使用Makefile编译找不到GCC
Xcode5已经完全抛弃了GCC并切换到LLVM,但并不是完全去除GCC,只是对GCC等编译相关执行文件的位置进行了调整, 如果之前使用的是使用Makefile方式命令行编译iOS APP的话,Xcode4.6下编写的脚本可能会无效,需要对GCC的执行文件路径进行调整。 调整内容如下 Xcode4.6之前: /Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer/usr/bin Xcode5.0: /Applications/Xcode.app/Contents/Developer/usr/bin
iOS开发之Objective-c几种不同的随机数算法(arc4random,random,srandom)
Objective-c并没有直接提供随机数据生成的函数或方法,不过我们可以直接利用c的各种随机算法 以下是几种常见的随机数算法的使用,可以参照以下头文件 stdlib.h arc4random 不需要随机种子,在调用时自动生成随机种子 返回[0,X)的集合 int value = arc4random() % x; 返回[1,X]的集合 int value = (arc4random() % x) + 1;