iOS開發(fā)的一些小技巧

導讀:TableView不顯示沒內容的Cell怎么辦呀枢?鍵盤事件寫得好煩躁课锌,都想摔鍵盤了怎么辦罐旗?App老不流暢哪出問題了乔宿?CoreData語法又臭又長怎么辦夷都?拉伸圖片怎么才能不變形?讓我們一起歡樂地學習一下iOS開發(fā)的各種小技巧吧予颤。

1. TableView不顯示沒內容的Cell怎么辦囤官?

類似于圖1,我不想讓下面的那些空顯示蛤虐。很簡單党饮,添加“self.tableView.tableFooterView = [[UIView alloc] init];”
試過都說好,加完這句之后就變成了圖2的樣子驳庭。

2. 自定義了leftBarbuttonItem左滑返回手勢失效了怎么辦刑顺?

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]  
              initWithImage:img  
              style:UIBarButtonItemStylePlain  
              target:self  
              action:@selector(onBack:)];  
self.navigationController.interactivePopGestureRecognizer.delegate = (id<UIG

3. ScrollView莫名其妙不能在viewController劃到頂怎么辦?

self.automaticallyAdjustsScrollViewInsets = NO;  

4. 鍵盤事件寫得好煩躁饲常,都想摔鍵盤了怎么辦蹲堂?

我寫了一個分類可以實現(xiàn)監(jiān)聽功能,但是是swift版本

第三方類庫
使用IQKeyboardManager(GitHub上可搜索)

5. 為什么我的App老是不流暢贝淤,到底哪里出了問題柒竞?

類庫:KMCGeigerCounter
如圖:

6. 怎么在不新建一個Cell的情況下調整separaLine的位置?

_myTableView.separatorInset = UIEdgeInsetsMake(0, 100, 0, 0);  

7. 怎么點擊self.view就讓鍵盤收起播聪,需要添加一個tapGestures么?

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event  
{  
   [self.view endEditing:YES];  
}  

8. 怎么給每個ViewController設定默認的背景圖片朽基?

使用基類啊,少年离陶。

9. 想在代碼里改在xib里添加的layoutAttributes稼虎,但該怎么用代碼找?

像拉Button一樣地拉你的約束招刨,nslayoutattribute也是可以拉線的霎俩。

10. 怎么像Safari一樣滑動的時候隱藏navigationbar?

navigationController.hidesBarsOnSwipe = Yes

11. 導航條返回鍵帶的title太討厭了沉眶,怎么讓它消失打却?

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)  

                                                   forBarMetrics:UIBarMetricsDefault];

12. CoreData用起來好煩,語法又臭又長怎么辦沦寂?

MagicRecord

13. CollectionView怎么實現(xiàn)tableview那種懸停的header学密?

CSStickyHeaderFlowLayout

14. 能不能只用一個pan手勢來代替UISwipegesture的各個方向淘衙?

- (void)pan:(UIPanGestureRecognizer *)sender  
{  
typedef NS_ENUM(NSUInteger, UIPanGestureRecognizerDirection) { 
    UIPanGestureRecognizerDirectionUndefined,  
    UIPanGestureRecognizerDirectionUp,  
    UIPanGestureRecognizerDirectionDown,  
    UIPanGestureRecognizerDirectionLeft,  
    UIPanGestureRecognizerDirectionRight  
};  
static UIPanGestureRecognizerDirection direction = UIPanGestureRecognizerDirectionUndefined;  

switch (sender.state) {  

    case UIGestureRecognizerStateBegan: {  

        if (direction == UIPanGestureRecognizerDirectionUndefined) {  

            CGPoint velocity = [sender velocityInView:recognizer.view];  
            BOOL isVerticalGesture = fabs(velocity.y) > fabs(velocity.x);  

            if (isVerticalGesture) {  

                if (velocity.y > 0) {  
                    direction = UIPanGestureRecognizerDirectionDown;  
                } else {  
                    direction = UIPanGestureRecognizerDirectionUp;  
                }  

            }  else {  
                if (velocity.x > 0) {  
                    direction = UIPanGestureRecognizerDirectionRight;  
                } else {
                    direction = UIPanGestureRecognizerDirectionLeft;  
                }  
           }  
        }  
       break;  
    }  

   case UIGestureRecognizerStateChanged: {  
        switch (direction) {  
            case UIPanGestureRecognizerDirectionUp: {  

                [self handleUpwardsGesture:sender];           
                 break;        
              }             
            case UIPanGestureRecognizerDirectionDown: {                 [self handleDownwardsGesture:sender];                break;           }                    case UIPanGestureRecognizerDirectionLeft: { 
                 [self handleLeftGesture:sender]; 
                 break;
            }  
            case UIPanGestureRecognizerDirectionRight: {  
                [self handleRightGesture:sender];  
                break; 
           } 
            default: {
                break; 
            }  
         } 
              break;  
          }  
   case UIGestureRecognizerStateEnded: {
        direction = UIPanGestureRecognizerDirectionUndefined;   
        break;  
    }
    default:      break; 
   }
}  

15. 拉伸圖片的時候怎么才能讓圖片不變形传藏?

方法一:

UIImage *image = [[UIImage imageNamed:@"xxx"] stretchableImageWithLeftCapWidth:10 topCapHeight:10];  

注:有開發(fā)者提醒這個已經棄用,現(xiàn)在的方法叫resizableImageWithCapInsets。


方法二毯侦,如圖:

16. 怎么播放GIF的時候這么卡哭靖,有沒有好點的庫?

FlipBoard出品的**FLAnimatedImage**太適合你了侈离。

17. 怎么一句話添加上拉刷新试幽?

使用SVPullToRefresh庫:

[tableView addPullToRefreshWithActionHandler:^{  

// prepend data to dataSource, insert cells at top of table view  

// call [tableView.pullToRefreshView stopAnimating] when done  

} position:SVPullToRefreshPositionBottom];  

18. 怎么把tableview里Cell的小對勾顏色改成別的顏色?

_mTableView.tintColor = [UIColor redColor];  

19. 本來我的statusbar是lightcontent的卦碾,結果用UIImagePickerController會導致我的statusbar的樣式變成黑色铺坞,怎么辦?**

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *) viewController animated:(BOOL)animated  
{  
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];  
}  

20. 怎么把我的navigationbar弄成透明的而不是帶模糊的效果洲胖?

[self.navigationBar setBackgroundImage:[UIImage new]  

                        forBarMetrics:UIBarMetricsDefault];  

self.navigationBar.shadowImage = [UIImage new];  

self.navigationBar.translucent = YES;  

21. 怎么改變uitextfield placeholder的顏色和位置济榨?

繼承uitextfield,重寫這個方法:

- (void) drawPlaceholderInRect:(CGRect)rect {  
    [[UIColor blueColor] setFill];  
    [self.placeholder drawInRect:rect withFont:self.font lineBreakMode:UILineBreakModeTailTruncation alignment:self.textAlignment];  
}  

22. 設置UITextField和UITextView的光標顏色

@property(nonatomic,retain)UIColor *tintColor NS_AVAILABLE_IOS(7_0);

[textField setTintColor:[UIColor blueColor]];
[textView setTintColor:[UIColor blueColor]];
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末绿映,一起剝皮案震驚了整個濱河市擒滑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叉弦,老刑警劉巖丐一,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異淹冰,居然都是意外死亡库车,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門樱拴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凝颇,“玉大人,你說我怎么就攤上這事疹鳄∨÷裕” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵瘪弓,是天一觀的道長垫蛆。 經常有香客問我,道長腺怯,這世上最難降的妖魔是什么袱饭? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮呛占,結果婚禮上虑乖,老公的妹妹穿的比我還像新娘。我一直安慰自己晾虑,他們只是感情好疹味,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布仅叫。 她就那樣靜靜地躺著,像睡著了一般糙捺。 火紅的嫁衣襯著肌膚如雪诫咱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天洪灯,我揣著相機與錄音坎缭,去河邊找鬼。 笑死签钩,一個胖子當著我的面吹牛掏呼,可吹牛的內容都是我干的。 我是一名探鬼主播铅檩,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼哄尔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了柠并?” 一聲冷哼從身側響起岭接,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎臼予,沒想到半個月后鸣戴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡粘拾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年窄锅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缰雇。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡入偷,死狀恐怖,靈堂內的尸體忽然破棺而出械哟,到底是詐尸還是另有隱情疏之,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布暇咆,位于F島的核電站锋爪,受9級特大地震影響,放射性物質發(fā)生泄漏爸业。R本人自食惡果不足惜其骄,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望扯旷。 院中可真熱鬧拯爽,春花似錦、人聲如沸钧忽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至否副,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間崎坊,已是汗流浹背备禀。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奈揍,地道東北人曲尸。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像男翰,于是被迫代替她去往敵國和親另患。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內容

  • UITableView的Group樣式下頂部空白處理 //分組列表頭部空白處理UIView*view = [[UI...
    莫離_焱閱讀 419評論 0 0
  • 在實際的開發(fā)中掌握一些小的開發(fā)技巧蛾绎,往往會讓你的開發(fā)效率顯著提升昆箕。下面是我自己總結的一些小的開發(fā)技巧,希望對感興趣...
    東了個尼閱讀 309評論 0 1
  • 這里租冠,給大家介紹一些在開發(fā)過程中的一些小技巧鹏倘。順便打個小廣告,昨天顽爹。我申請了一個專題《iOS開發(fā)技巧》纤泵,歡迎大家關...
    方同學哈閱讀 1,307評論 1 30
  • 1.如何快速的查看一段代碼的執(zhí)行時間。 在想要查看執(zhí)行時間的代碼的地方進行這么處理 2.如何快速查看一個函數(shù)的調用...
    kissGod閱讀 15,124評論 13 121
  • 1.在 iOS開發(fā)中我們在和產品和設計溝通的時候我們經常需要截取手機的屏幕或者模擬器上的屏幕镜粤,我們用手機可能會使用...
    kissGod閱讀 12,533評論 23 141