应用跳转到系统设置里的各种设置界面

1、在项目中的info.plist中添加URL Types并设置一项URL Schemes为prefs.如下图:

info.plist中设置的
2、代码。比较多,在两个viewController中写的

#import "ViewController.h"
#import "SecondViewController.h"
#import <Masonry.h>


@interface ViewController ()

@property(nonatomic,retain) NSArray *kJumpArr;
@property(nonatomic,retain) NSArray *kUrlArr;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self uiConfig];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}

-(void)uiConfig{
    self.view.backgroundColor=[UIColor whiteColor];
    self.edgesForExtendedLayout=UIRectEdgeNone;

    UIBarButtonItem *rightItem=[[UIBarButtonItem alloc] initWithTitle:@"next" style:UIBarButtonItemStylePlain target:self action:@selector(rightItemAction)];
    self.navigationItem.rightBarButtonItem=rightItem;

    CGFloat topSpace=((self.view.frame.size.height-64)-[self.kJumpArr count]*10-([self.kJumpArr count]-1)*15)/2;
    for (int i=0;i<[self.kJumpArr count]; i++) {
        UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
        [btn setTitle:self.kJumpArr[i] forState:UIControlStateNormal];
        [btn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
        [btn setTitleColor:[UIColor lightGrayColor] forState:UIControlStateHighlighted];
        btn.tag=10+i;
        [btn addTarget:self action:@selector(butttonAction:) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn];
        [btn mas_makeConstraints:^(MASConstraintMaker *make) {
            make.top.equalTo(self.view.mas_top).offset(topSpace+i*25);
            make.height.mas_equalTo(10);
            make.centerX.equalTo(self.view.mas_centerX);
            make.width.mas_equalTo(300);
        }];
    }
}

-(void)butttonAction:(UIButton *)button{
    NSInteger num=button.tag-10;
    NSURL *url=[NSURL URLWithString:self.kUrlArr[num]];
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
    }
}

-(void)rightItemAction{
    SecondViewController *VC=[[SecondViewController alloc] init];
    [self.navigationController pushViewController:VC animated:YES];
}

-(NSArray *)kJumpArr{
    if (_kJumpArr==nil) {
        _kJumpArr=@[@"Brightness",@"Bluetooth",@"Date&Time",@"FaceTime",@"iClod",@"International"
                    ,@"Location Services",@"Music",@"Network",@"Notes",@"Phone",@"Photos"
                    ,@"VPN",@"Wallpaper",@"Wi-Fi",@"About",@"Accessibility",@"Airplane Mode On"];

    }
    return _kJumpArr;
}

-(NSArray *)kUrlArr{
    if (_kUrlArr==nil) {
        _kUrlArr=@[@"prefs:root=Brightness"
                   ,@"prefs:root=General&path=Bluetooth"
                   ,@"prefs:root=General&path=DATE_AND_TIME",@"prefs:root=FACETIME"
                   ,@"prefs:root=CASTLE",@"prefs:root=General&path=INTERNATIONAL"
                   ,@"prefs:root=LOCATION_SERVICES",@"prefs:root=Music"
                   ,@"prefs:root=General&path=Network",@"prefs:root=NOTES"
                   ,@"prefs:root=Phone",@"prefs:root=Photos",@"prefs:root=General&path=Network/VPN"
                   ,@"prefs:root=Wallpaper",@"prefs:root=WIFI",@"prefs:root=General&path=About"
                   ,@"prefs:root=General&path=ACCESSIBILITY"
                   ,@"prefs:root=AIRPLANE_MODE"];
    }
    return _kUrlArr;
}

@end
#import "SecondViewController.h"
#import <Masonry.h>

@interface SecondViewController ()

@property(nonatomic,retain) NSArray *kJumpArr;
@property(nonatomic,retain) NSArray *kUrlArr;

@end

@implementation SecondViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self uiConfig];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}

-(void)uiConfig{
    self.view.backgroundColor=[UIColor whiteColor];
    self.edgesForExtendedLayout=UIRectEdgeNone;

    CGFloat topSpace=(self.view.frame.size.height-[self.kJumpArr count]*10-([self.kJumpArr count]-1)*15)/2;
    for (int i=0;i<[self.kJumpArr count]; i++) {
        UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
        [btn setTitle:self.kJumpArr[i] forState:UIControlStateNormal];
        [btn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
        [btn setTitleColor:[UIColor lightGrayColor] forState:UIControlStateHighlighted];
        btn.tag=10+i;
        [btn addTarget:self action:@selector(butttonAction:) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn];
        [btn mas_makeConstraints:^(MASConstraintMaker *make) {
            make.top.equalTo(self.view.mas_top).offset(topSpace+i*25);
            make.height.mas_equalTo(10);
            make.centerX.equalTo(self.view.mas_centerX);
            make.width.mas_equalTo(300);
        }];
    }
}

-(void)butttonAction:(UIButton *)button{
    NSInteger num=button.tag-10;
    NSURL *url=[NSURL URLWithString:self.kUrlArr[num]];
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
    }
}

-(NSArray *)kJumpArr{
    if (_kJumpArr==nil) {
        _kJumpArr=@[
                    @"AutoLock",@"General",@"Keyboard",@"iCloud Storage & Backup",@"Music Equalizer",@"Music Volume Limit",@"Nike+iPod",@"Notification",@"Profile"
                    ,@"Reset",@"Safari",@"Siri",@"Sounds",@"Software Update",@"Store"
                    ,@"Twitter",@"Usage"];
    }
    return _kJumpArr;
}

-(NSArray *)kUrlArr{
    if (_kUrlArr==nil) {
        _kUrlArr=@[@"prefs:root=General&path=AUTOLOCK"
                   ,@"prefs:root=General",@"prefs:root=General&path=Keyboard"
                   ,@"prefs:root=CASTLE&path=STORAGE_AND_BACKUP",@"prefs:root=Music*path=EQ"
                   ,@"prefs:root=Music&path=VolumeLimit",@"prefs:root=NIKE_PLUS_IPOD"
                   ,@"prefs:root=NOTIFICATIONS_ID"
                   ,@"prefs:root=General&path=ManagedConfigurationList",@"prefs:root=General&path=Reset"
                   ,@"prefs:root=Safari",@"prefs:root=General&path=Assisitant"
                   ,@"prefs:root=Sounds",@"prefs:root=General&path=SOFTWARE_UPDATE_LINK"
                   ,@"prefs:root=STORE",@"prefs:root=TWITTER"
                   ,@"prefs:root=General&path=USAGE"];
    }
    return _kUrlArr;
}


@end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值