iOS 开发小知识

1、代码方式调整屏幕亮度

// brightness属性值在0-1之间,0代表最小亮度,1代表最大亮度

[[UIScreen mainScreen] setBrightness:0.5];

2、解决openUrl延时问题

// 方法一

dispatch_async(dispatch_get_main_queue(), ^{


    UIApplication *application = [UIApplication sharedApplication];

    if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {

        [application openURL:URL options:@{}

           completionHandler:nil];

    } else {

        [application openURL:URL];

    }

    });

// 方法二

[self performSelector:@selector(redirectToURL:) withObject:url afterDelay:0.1];

- (void) redirectToURL

{

UIApplication *application = [UIApplication sharedApplication];

    if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {

        [application openURL:URL options:@{}

           completionHandler:nil];

    } else {

        [application openURL:URL];

    }

}

3、状态栏菊花

在状态栏增加网络请求的菊花,类似safari加载网页的时候状态栏菊花

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

4、让手机震动一下

#import <AudioToolbox/AudioToolbox.h>

// #import <UIKit/UIKit.h>  

- (void)vibrate   {     

  AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

   } 

AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

5、生成随机数

有时候我们需要在程序中生成随机数,但是在Objective-c中并没有提供相应的函数,好在C中提供了rand()、srand()、random()、arc4random()几个函数。那么怎么使用呢?下面将简单介绍:

1.获取一个随机整数范围在:[0,100)包括0,不包括100

int x = arc4random() % 100;

2.获取一个随机数范围在:[500,1000),包括500,包括1000

int y = (arc4random() % 501) + 500;

3.获取一个随机整数,范围在[from,to),包括from,包括to

-(int)getRandomNumber:(int)from to:(int)to

{

    return (int)(from + (arc4random() % (to – from + 1)));

}

6、点击Button 出现 拷贝

[self.btnContentbecomeFirstResponder];

       UIMenuController*menu = [UIMenuControllersharedMenuController];

        [menusetTargetRect:self.btnContent.frameinView:self.btnContent.superview];

[menu setMenuVisible:YESanimated:YES];

7、获取手机信息

NSDictionary*infoDictionary = [[NSBundlemainBundle]infoDictionary];

   //当前应用名称

   NSString*appCurName = [infoDictionaryobjectForKey:@"CFBundleDisplayName"];

   //当前应用软件版本 比如:1.0.1

   NSString*appCurVersion = [infoDictionaryobjectForKey:@"CFBundleShortVersionString"];

   //当前应用版本号码  int类型 构建版本如:20151128

   NSString*appCurVersionNum = [infoDictionaryobjectForKey:@"CFBundleVersion"];

   //手机别名:用户定义的名称

   NSString* userPhoneName = [[UIDevicecurrentDevice]name];

   //设备名称

   NSString* deviceName = [[UIDevicecurrentDevice]systemName];

   //手机系统版本9.1

   NSString* phoneVersion = [[UIDevicecurrentDevice]systemVersion];

   //手机型号iPhone

   NSString* phoneModel = [[UIDevicecurrentDevice]model];

   //地方型号 (国际化区域名称)

 NSString* localPhoneModel = [[UIDevicecurrentDevice]localizedModel];

8、禁止锁屏

默认情况下,当设备一段时间没有触控动作时,iOS会锁住屏幕。但有一些应用是不需要锁屏的,比如视频播放器。

[UIApplication sharedApplication].idleTimerDisabled = YES;

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

9、比较两个UIImage是否相等

- (BOOL)image:(UIImage *)image1 isEqualTo:(UIImage *)image2

{

    NSData *data1 = UIImagePNGRepresentation(image1);

    NSData *data2 = UIImagePNGRepresentation(image2);


    return [data1 isEqual:data2];

}

10、解决当UIScrollView上有UIButton的时候,触摸到button滑动不了的问题

// 子类化UIScrollView,并重写以下方法

- (instancetype)initWithFrame:(CGRect)frame {

    if (self = [super initWithFrame:frame]) {

        self.delaysContentTouches = NO;

    }


    return self;

}


- (BOOL)touchesShouldCancelInContentView:(UIView *)view {

    if ([view isKindOfClass:UIButton.class]) {

        return YES;

    }


    return [super touchesShouldCancelInContentView:view];

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.不可变数组转变为可变数组声明实例变量的数组 必须记得实现 对于遍历数组找到对象后 如果还需要查找 记得先结束 ...
    小新xin阅读 789评论 0 1
  • 1、禁止手机睡眠 [UIApplication sharedApplication].idleTimerDisab...
    小小夕舞阅读 1,543评论 1 1
  • 1、禁止手机睡眠 [UIApplicationsharedApplication].idleTimerDisabl...
    小热狗阅读 948评论 0 2
  • 一、调用代码使APP进入后台,达到点击Home键的效果。(私有API) [[UIApplication share...
    梁苏珍阅读 464评论 0 0
  • 如果你用这个问题问一名普通消费者,他必然会随声附和到:“是啊,我也是这么觉着的,好像设计师都在吃白饭呢”。 但如果...
    图文坊阅读 586评论 0 1