美文网首页
IOS --- 难以改变的控件属性

IOS --- 难以改变的控件属性

作者: 懒眉 | 来源:发表于2016-11-30 15:37 被阅读16次

    环境: ios 9.3.1 / iphone6plus / Xcode8.0

    一.系统标题的设置

    1. self.title = @"标题" ;
    2. self.navigationItem.title = @"标题" ;

      上面两种方法没有太多的门道,分别为两个控制器属性变量,设置一个即可,如果两个都设置了,以程序执行顺序的在后面的那一个为准。
    还可以设置标题属性:

    [self.navigationController.navigationBar   setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:26],NSForegroundColorAttributeName:[UIColor whiteColor]}] ;
    
    3.自定义的标题设置

      如果忍受不了系统的种种限制,那么可以自己创建一个UILabel来替换掉导航中原有的titleView:

       UILabel * titleLabel = [[UILabel alloc]init];
       titleLabel.frame =  CGRectMake(0, 0, 70, 40)]; 
       titleLabel.text = @"标题";
       titleLabel.textColor = [UIColor whiteColor];
       titleLabel.font = [UIFont systemFontOfSize:15];
       self.navigationItem.titleView = titleLabel;
    
    二 . UISearchBar的背景颜色

      在使用UISearchBar的时候发现通过searchBar.backgroundColor = [UIColor redColor];这样的代码根本无法达到修改UISearchBar背景颜色的目的;于是一番百度之下找到解决方案:

    UISearchBar * searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0,84, self.view.frame.size.width, 44)];  
    [searchBar setShowsCancelButton:YES animated:YES];
    searchBar.backgroundImage = [self imageWithColor: RGBCOLOR(240, 240, 240) size:searchBar.bounds.size];
    searchBar.placeholder = @"城市名、拼音首字母";
    [self.view addSubview:searchBar];
    
    //取消searchbar背景色
    - (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size
    {
        CGRect rect = CGRectMake(0, 0, size.width, size.height);
        UIGraphicsBeginImageContext(rect.size);
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGContextSetFillColorWithColor(context, [color CGColor]);
        CGContextFillRect(context, rect);
        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return image;
    }
    
    实例
    感谢来自脚本之家的文章:脚本之家

    相关文章

      网友评论

          本文标题:IOS --- 难以改变的控件属性

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