UITabBarContro的笔记


1.首先设置i空项目
2.设置一个UIwindow并且设置颜色
3.设置可见
 [ self . window makeKeyAndVisible ];
4.设置一个UIBarControl控制器
ITabBarController *tb = [[ UITabBarController alloc ] init ];
// 设置为根控制器
    self.window.rootViewController = tb;
5.设置名字
c1. tabBarItem . title = @" 联系人 " ;
6.设置消息数量
c1. tabBarItem . badgeValue = @"123" ;
7.设置图片
 c1. tabBarItem . image = [ UIImage imageNamed : @"icon_00" ];
把UIBarControl添加上去
 tb. viewControllers = @[ c1,c2,c3,c4 ] ;

4.整体


二.UITabBarControl在代码实现QQ主流框架

三 modal 

一、简单介绍

除了push之外,还有另外一种控制器的切换方式,那就是Modal

任何控制器都能通过Modal的形式展⽰出来

Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为⽌

4)提示在实际的开发中,如果控制器之间的关系紧密一般用导航控制器,如果控制器之间的关系不是很紧密就用modal
 
四、内部机制
(1)弹出之后,window上面只有一个子视图。
(2)虽然当前界面上展示在我们眼前的时twoview,但是window的根控制器仍然是NJviewController,它并没有切换window的根控制器,而仅仅只是换了window上面显示的视图。
(3)移除的视图并没有销毁,因为控制器并没有销毁,所以控制器对应的view也没有销毁。
(4)在模态弹出(完全显示后),在方法中传入two作为参数,默认就有一个控制器强引用着它。
(5)当向下移除之后,只要调用了控制器的dismiss方法让窗口关闭,modal就释放了。
(6)通常弹出的模态窗口都会提供一个导航条,让界面拥有导航条的最快的方式是给它包装一个导航控制器。
(7)如果一个控制器是以模态的形式展现出来的。可以调用该控制器以及该控制器的子控制器,让该控制器消失。
 


五:代码如下

// 点击屏幕
- (
void )touchesBegan:( NSSet *)touches withEvent:( UIEvent *)event
{
   
// 跳转到 test vc

   
// 1. 创建要跳转到的控制器
   
TestViewController * vc = [[ TestViewController alloc ] init ];
   
//
   
//    UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController:vc];
   
//    vc.dismissBlock = ^(){
   
//        [self dismissViewControllerAnimated:YES completion:nil];
   
//    };

   
// duang!!!!
    vc.
modalTransitionStyle = UIModalTransitionStyleFlipHorizontal ;

   
// 2. 跳转
    [
self presentViewController :vc
                      
animated : YES
                    
completion :^{
                        
NSLog ( @" 已经跳转到 test 页面啦 !!!" );
                     }];
}



@property ( nonatomic , copy ) dispatch_block_t dismissBlock;
@interface TestViewController ()

@end

@implementation TestViewController

- (
void )viewDidLoad
{
    [
super viewDidLoad ];
   
// Do any additional setup after loading the view.

   
self . view . backgroundColor = [ UIColor orangeColor ];
}

- (
void )touchesBegan:( NSSet *)touches withEvent:( UIEvent *)event
{
   
// 关闭
    [
self dismissViewControllerAnimated : YES completion : nil ];

   
//    if (self.dismissBlock) {
   
//        self.dismissBlock();
   
//    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值