美文网首页
Xcode使用时的常用效果集合(持续更新。。。)

Xcode使用时的常用效果集合(持续更新。。。)

作者: 春风十里湘 | 来源:发表于2016-12-16 12:12 被阅读0次

    收纳:个人iOS项目常用效果方法注意点集锦

    小白的学习路上整理的小知识点:

    1、在AUIViewController页面上显示BUIViewController页面的半透明背景。

    在A控制器push到B控制器页面的方法中:

    //设置半透明背景,需加载此判断,否则页面效果是使用present方法弹出时遇到底层view变黑(ios为了保证系统流畅度同一时间只允许显示一个viewController)

    if ([[[UIDevice currentDevice] systemVersion] floatValue]>=8.0) {

    Bvc.modalPresentationStyle=UIModalPresentationOverCurrentContext;

    }else{

    self.modalPresentationStyle=UIModalPresentationCurrentContext;

    }

    随后在B控制中的init方法中,设置背景颜色

    //设置半透明背景

    UIColor *color=[UIColor blackColor];

    self.view.backgroundColor=[color colorWithAlphaComponent:0.7];

    相关文档链接:

    iOS 设置视图半透明而子控件不透明


    2、导航试图下的多个页面,设置直接“返回首页”。

    有时候我们的NavigationController下面会有好几层,进到里面的view之后又想返回到上面的几层view,只要是同一个NavigationController父类下的view都可以用用下面这句代码。

    [self.navigationControllerpopToViewController:[self.navigationController.viewControllersobjectAtIndex:([self.navigationController.viewControllerscount] -4)]animated:YES];

    这句代码什么都不用改,只要把数字“2”改成你要网上跳转的层数+1就行。

    试了一下,“1”代表当前的view,“2”代表上一层的view,“3”代表上上层的view,以此类推。


    3、为导航栏主题添加背景和文字颜色:

    设定导航条背景颜色

    方法1:[[UINavigationBarappearance]setBarTintColor:[UIColorblackColor]];

    方法2:self.navigationController.navigationBar.barTintColor = [UIColor greenColor];

    设定导航栏文字颜色

    方法1:[self.navigationController.navigationBar setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:19],NSForegroundColorAttributeName:[UIColor whiteColor]}];

    方法2:self.navigationController.navigationBar.tintColor = [UIColor whiteColor];


    4、把汉字转换为拼音。(如需用直接调用方法)

    -(NSString*)hanzi2pinyin:(NSString*)str{

    NSMutableString * ms = [[NSMutableString alloc]initWithString:str];

    if(CFStringTransform(( __bridge CFMutableStringRef)ms,0,kCFStringTransformMandarinLatin,NO)){

    NSLog(@"Pingying: %@", ms);// wǒ shì zhōng guó rén

    }if(CFStringTransform((__bridge CFMutableStringRef)ms, 0,kCFStringTransformStripDiacritics,NO)) {

    NSLog(@"Pingying: %@", ms);// wo shi zhong guo ren

    }

    return ms;

    }

    用kCFStringTransformMandarinLatin方法转化出来的是带音标的拼音,如果需要去掉音标,则继续使用kCFStringTransformStripCombiningMarks方法即可。


    5、关闭或退出键盘的方式:

    第一种:点击return,直接关闭键盘。(使用条件:能获取到obj对象时)(有UITextfileddelegate协议)

    -(BOOL)textFieldShouldReturn:(UITextField*)textField{

    return[texresignFirstResponder];

    }

    第二种:点击背景View收起键盘(你的View必须是继承control)(使用条件:有多个obj对象时)

    [self.view endEditing:YES];

    第三种:你可以在任何地方加上这句话,可以用来统一收起键盘。

    [[[UIapplicationsharedApplication] keyWindow] endEditing:YES];

    第四种:直接发送 resignFirstResponder 消息:

    [[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder)


    6 iOS10适配:被弃用的openURL

    文档链接:iOS10适配:被弃用的openURL

    苹果在iOS 2中引入了openURL:方法来进行APP间的跳转。不过在iOS 9中,相关的canOpenURL:函数已经被私有化了,苹果禁止开发者查询设备上是否安装了某款APP。在iOS 10中,苹果弃用了openURL,转而用openURL:options:completionHandler:替代。它可以异步执行并在主队列中执行完成后进行回调(此方法替换原来的openURL:)。

    关于Options 参数

    UIApplication 头文件为options字典列出了一个key:

    UIApplicationOpenURLOptionUniversalLinksOnly:如果这个要打开的URL有效,并且在应用中配置它布尔值为true(YES)时才可以打开,否则打不开。

    为了覆盖默认行为,创建一个设置key值了True的字典作为参数传入:

    NSDictionary *options = @{UIApplicationOpenURLOptionUniversalLinksOnly : @YES};

    [application openURL:URL options:options completionHandler:nil];

    以上面示例,如果我设置它为true并打开URL:https://twitter.com/kharrison 时, 如果我并没有安装Twitter app那它就会失败,同时会调用safari来打开这个链接。

    相关文章

      网友评论

          本文标题:Xcode使用时的常用效果集合(持续更新。。。)

          本文链接:https://www.haomeiwen.com/subject/tvjnmttx.html