iOS 开发小知识

2019-04-28  本文已影响0人  junedeyu

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];

}

上一篇下一篇

猜你喜欢

热点阅读