zoukankan      html  css  js  c++  java
  • ios开发之NavBar和TarBar使用技巧

    1  改变NavBar颜色:选中Navigation Bar 的Tint属性。选中颜色。 

    2  隐藏“back”按钮: self.navigationItem.hidesBackButton = YES; 

    3 隐藏"NavBar" : self.navigationController.navigationBarHidden = YES; 

    4 可以不用MainWindow.xib创建的Navigation。在每个view上自定义。 

    需要把每个控制页都加上以下代码来隐藏nav: 
    -(void)viewWillAppear:(BOOL)animated 
    { 
        self.navigationController.navigationBarHidden = YES;//显示"NavBar" 
    } 
    然后在每个控制页xib自己添加Navigation Bar。添加所需BarButtonItem按钮。 


    5 页面跳转隐藏tarbar : 
    HomeDetailViewController *detailview = [[HomeDetailViewController alloc] initWithNibName:@"HomeDetailView" bundle:nil]; 
    detailview.hidesBottomBarWhenPushed = YES;//隐藏tarbar 
    [self.navigationController pushViewController:detailview animated:YES]; 
    [detailview     release]; 

    6 页面返回: 
    [self.navigationController popViewControllerAnimated:YES]; 

    7 默认选中tabbar为第一个view: 
    TabBarController.selectedIndex= 0; 


    其他: 
    8 已知两地经纬度 计算两地之间的距离: 
    //    地图显示当前位置: 
        mapView.showsUserLocation=YES; 
        CLLocationManager *locationManager = [[CLLocationManager alloc] init];//创建位置管理器 
        locationManager.delegate=self;//设置代理 
        locationManager.desiredAccuracy=kCLLocationAccuracyBest;//指定需要的精度级别为最佳精度 
        locationManager.distanceFilter=1000.0f;//设置距离筛选器为任何移动都要发送更新 
        [locationManager startUpdatingLocation];//启动位置管理器 
        MKCoordinateSpan theSpan; 
        //地图的范围 越小越精确 
        theSpan.latitudeDelta=0.05; 
        theSpan.longitudeDelta=0.05; 
        MKCoordinateRegion theRegion; 
        theRegion.center=[[locationManager location] coordinate]; 
        theRegion.span=theSpan; 
        [mapView setRegion:theRegion]; 
        [locationManager release]; 
        
        MKUserLocation *usrLoc=mapView.userLocation; 
        CLLocationCoordinate2D usrCoordinate=usrLoc.location.coordinate; 
        NSLog(@"la==%f lo==%f",usrCoordinate.latitude,usrCoordinate.longitude); 
        
    //   已知两点的经纬度,计算出两地距离: 
        CLLocation *location1 = [[[CLLocation alloc] initWithLatitude:usrCoordinate.latitude longitude:usrCoordinate.longitude] autorelease]; 
        CLLocation *location2 = [[[CLLocation alloc] initWithLatitude:36.676445 longitude:117.106793] autorelease];
        NSLog(@"JULI====%.0f km", [location1 distanceFromLocation:location2]);//4502 


    9 取小数点后两位(四舍五入),输出: 
    NSLog(@"%.02f km",4478.442312); 

    10 调用打电话API : 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]]; 
    使用这种方式拨打电话时,当用户结束通话后,iphone界面会停留在电话界面。 
    用如下方式,可以使得用户结束通话后自动返回到应用: 
    UIWebView*callWebview =[[UIWebView alloc] init]; 
        NSURL *telURL =[NSURL URLWithString:@"tel:10086"];// 貌似tel:// 或者 tel: 都行 
        [callWebview loadRequest:[NSURLRequest requestWithURL:telURL]]; 
        //记得添加到view上 
        [self.view addSubview:callWebview]; 

    11 调用 SMS发短信: 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://15315310992"]]; 

    12 调用自带 浏览器 safari 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com"]]; 

    13 在一个程序里打开另一个程序: 
    首先:plist里添加URL types   点开里边的Item0  添加URLSchemes  打开Item0 输入sinaWeibo 
    然后在需要调用的地方:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sinaWeibo://*"]];

    https://itunes.apple.com/cn/app/qq-2012/id444934666?mt=8 

    14 双引号转义: 
    用 " 表示 双引号 

    15 设置按钮按下换图片 松开还是原图 
    //                [danxuan setImage:[UIImage imageNamed:@"exercise_option_n.png"] forState:UIControlStateNormal]; 
                    //这个是设置按下的图片,松开就是上面的图片 
    //               [danxuan setImage:[UIImage imageNamed:@"exercise_option_s.png"] forState:UIControlEventTouchDragOutside]; 

    16  判断数组中是否存在某元素: 
    BOOL isValue=[keyArray containsObject:@"aaa"]; 

    17 Nav添加button 
    UIButton *btnBack = [ABUtil createNavigationCtrollerRoundedRectBtn:Localized(@"取消")]; 
        [btnBack addTarget:self 
                    action:@selector(tapLeftBarButton) 
          forControlEvents:UIControlEventTouchUpInside]; 
        UIBarButtonItem *leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btnBack]; 
        self.navigationItem.leftBarButtonItem = leftBarButtonItem; 
        [btnBack release]; 
        [leftBarButtonItem release]

  • 相关阅读:
    NSString 字符串处理:截取字符串、匹配字符串、分隔字符串
    iOS项目开发需要导进的常用第三方库
    iOS---防止UIButton重复点击的三种实现方式
    Xcode9 不使用数据线真机调试
    修改Xcode新建类的注释模板(作者,公司名等)
    【源码】tableView刷新指定的cell 或section和滚动到指定的位置
    【源码】tableViewcell页码
    ios如何在一个控制器中添加另一个控制器
    把本地项目提交到coding上
    deinit
  • 原文地址:https://www.cnblogs.com/lovewx/p/3890664.html
Copyright © 2011-2022 走看看