<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 一:效果圖 自定義tabBar實現最下面中間的添加按鈕? ![](https://box.kancloud.cn/2016-01-20_569f1d9851330.jpg) ## 二:思路 首先在自己的tabBarController中把系統的tabBar設置成自己的tabBar(NYTabBar),這里由于tabBar的屬性是readonly的,所以我們要用kvc或者是消息管理來設置他 然后就寫自己的NYTabBar。這個寫起來首先 遍歷當前tabBar上的所有view,如果是UITabBarButton,就取出來重新設置他們的位置,并且重新賦值,接下來就是空出中間的添加的位置,然后把添加按鈕放上去,就ok了。 ## 三:代碼 ### 調用 首先是如何調用的代碼 ~~~ //自定義tabBar NYTabBar *tabBar = [[NYTabBar alloc]initWithFrame:self.tabBar.frame]; //用kvc把readly的tabBar屬性改成自定義的 [self setValue:tabBar forKey:@"tabBar"]; ~~~ ### NYTabBar.m NYTabBar.h文件就不寫了 ,里面啥都沒有 NYTabBar.m: ~~~ // // NYTabBar.m // 貓貓微博 // // Created by apple on 15-7-24. // Copyright (c) 2015年 znycat. All rights reserved. // #import "NYTabBar.h" @interface NYTabBar() /** * 添加增加按鈕 */ @property (nonatomic, weak) UIButton *addButton; @end @implementation NYTabBar -(UIButton *)addButton { if (_addButton == nil) { UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; [btn setImage:[UIImage imageNamed:@"tabbar_compose_icon_add"] forState:UIControlStateNormal]; [btn setBackgroundImage:[UIImage imageNamed:@"tabbar_compose_button"] forState:UIControlStateNormal]; [btn setImage:[UIImage imageNamed:@"tabbar_compose_icon_add_highlighted"] forState:UIControlStateHighlighted]; [btn setBackgroundImage:[UIImage imageNamed:@"tabbar_compose_button_highlighted"] forState:UIControlStateHighlighted]; _addButton = btn; //是按鈕的尺寸默認跟背景圖片一樣大 [btn sizeToFit]; [self addSubview:_addButton]; } return _addButton; } //調整子空間的位置 -(void)layoutSubviews { [super layoutSubviews]; CGFloat w = self.bounds.size.width; CGFloat h = self.bounds.size.height; CGFloat btnX = 0; CGFloat btnY = 0; CGFloat btnW = w / 5; CGFloat btnH = h; int i = 0; //1 , 遍歷當前tabBar上的所有view for (UIView *tabBarBtn in self.subviews) { //2,如果是UITabBarButton,就取出來重新設置他們的位置 if ([tabBarBtn isKindOfClass:NSClassFromString(@"UITabBarButton")]) { btnX = i * btnW; tabBarBtn.frame = CGRectMake(btnX, btnY, btnW, btnH); //當到了第二個時候,再加一個位置空竹添加按鈕的位置。 if (i==1) { i++; } i++; } } //設置添加按鈕 add按鈕的位置 self.addButton.center = CGPointMake(w * 0.5, h * 0.5); } @end ~~~ ## 四:補充 調用的時候還可以用消息管理 ~~~ //自定義tabBar NYTabBar *tabBar = [[NYTabBar alloc]initWithFrame:self.tabBar.frame]; /*這個地方還有一種用消息管理設置的,這樣也可以,使用個步驟是 1:先導入頭文件#import <objc/message.h> 2:到項目中Build Settings中查找msg ,然后把yes改成no 3:代碼寫objc_msgSend調用就行了 注意:這樣的方法框架中比較多,目的為了不讓人看懂,還有顯得c牛逼,——————沒啥鳥用。。 */ //用消息管理設置 objc_msgSend(self, @selector(setTabBar:),tabBar); ~~~ 步驟:? 1:先導入頭文件 ~~~ #import <objc/message.h> ~~~ 2:到項目中Build Settings中查找msg ,然后把yes改成no ![](https://box.kancloud.cn/2016-01-20_569f1d9866aff.jpg) 3:代碼寫objc_msgSend調用就行了? 注意:這樣的方法框架中比較多,目的為了不讓人看懂,還有顯得c牛逼,——————沒啥鳥用。。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看