成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS被坑集錦

移動開發
在做自己的第一個 iOS app,一路遇到不少困難,好在靠 Google 和 StackOverflow 都解決了,自己也不知道是否是 best practice。

在做自己的***個 iOS app,一路遇到不少困難,好在靠 Google 和 StackOverflow 都解決了,自己也不知道是否是 best practice。

隱藏 Tab bar

在以 Tab bar 劃分模塊的 app 中有些非一級界面是不需要底部的標簽欄的,只需要在該 ViewController 的viewWillAppear:中加入設置標簽欄隱藏的語句:

  1. - (void)viewWillAppear:(BOOL)animated { 
  2.     [super viewWillAppear:animated]; 
  3.     self.tabBarController.tabBar.hidden = YES; 

但是,更好的作法是在 push 一個 ViewController 之前,將其屬性hidesBottomBarWhenPushed設置為YES:

  1. SomeViewController *svc = [SomeViewController new]; 
  2. svc.hidesBottomBarWhenPushed = YES; 
  3. [self.navigationController pushViewController:svc animated:YES]; 

計算 UIScrollView 的 ContentSize

有些 UIScrollView 的內容是動態增減的,這就需要重新計算 ContentSize,在改變內容后增加以下代碼:

  1. -(void)resizeScrollViewContentSize { 
  2.     [self layoutIfNeeded]; 
  3.     CGRect contentRect = CGRectZero; 
  4.     for (UIView *view in self.subviews) { 
  5.         contentRect = CGRectUnion(contentRect, view.frame); 
  6.     } 
  7.     self.contentSize = CGSizeMake(contentRect.size.width, contentRect.size.height); 

貌似必須要在計算前***執行layoutIfNeeded,否則有些 sub view 還沒有布局好。

計算多行文本的高度

UILabel 和 UITextView 可以顯示多行的文本,如果字符串是動態獲取的話就需要計算整個文本的高度了(寬度一般是固定的),這時就要用到boundingRectWithSize: options: attributes: context:這個 API 了(iOS7新增的)。為了方便自己工程中調用,我封裝了一下:

  1. + (CGRect)stringRect:(NSString *)string fontSize:(CGFloat)fontSize constraintWidth:(CGFloat)width constraintHeight:(CGFloat)height { 
  2.     UIFont *font = [UIFont systemFontOfSize:fontSize]; 
  3.     CGSize constraint = CGSizeMake(width, height); 
  4.     NSDictionary *attributes = @{NSFontAttributeName : font}; 
  5.     return [string boundingRectWithSize:constraint 
  6.                                 options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading 
  7.                              attributes:attributes 
  8.                                 context:nil]; 

去掉字符串頭尾的空格

對于 UITextField 中輸入的字符串往往都要進行 trim 處理,需要用到以下代碼:

  1. NSString *result = [self..nameTextField.text 
  2.                           stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 

監聽 UITextView 的輸入,實時顯示字數

首先要 conform(遵從?實現?) UITextViewDelegate,在textViewDidChange:中實現在 UILabel 中顯示當前 UITextView 中的字數:

  1. - (void)textViewDidChange:(UITextView *)textView { 
  2.     _countLabel.text = [NSString stringWithFormat:@"%lu", (unsigned long)textView.text.length]; 
  3.     [self setNeedsDisplay]; 

設置 UITextView 的***輸入長度

實現UITextViewDelegate中的textView:shouldChangeTextInRange:方法:

  1. -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 
  2.    // if (range.location >= kMaxTextLength) { 這樣會導致移動光標后再輸入***長度就失效 
  3.     if(textView.text.length >= kMaxTextLength) { 
  4.         return NO; 
  5.     } 
  6.  
  7.     return YES; 

 

責任編輯:倪明 來源: 簡書
相關推薦

2013-07-23 07:24:57

iOS開發學習iOS開發問題集錦

2021-07-16 07:57:35

SpringBootOpenFeign微服務

2025-04-22 03:00:00

模型SpringAI

2013-05-02 11:21:36

iOS開發流程

2012-12-24 13:23:26

iOS音頻聲效源碼

2020-11-24 08:15:09

Elasticsear面試分布式

2020-07-17 09:58:31

Python開發工具

2020-08-20 10:10:43

Prometheus架構監控

2015-09-16 09:57:41

swoolePHP程序員

2022-12-08 09:34:26

開發操作

2022-04-08 08:48:16

線上事故日志訂閱者

2024-08-21 08:22:33

2013-04-12 15:59:33

2018-09-12 21:25:15

iOSAppcrash

2019-04-23 11:21:57

ERP系統管理信息化

2020-03-20 08:00:32

代碼程序員追求

2021-09-29 09:07:22

Docker 日志容器

2021-01-22 05:35:19

Lvm模塊Multipath

2023-10-31 08:01:48

Mybatis參數jdbcurl?

2021-05-11 09:42:04

CI校驗前端git config
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久草欧美 | 天天操综合网站 | 91精品国产乱码麻豆白嫩 | 久久精品色欧美aⅴ一区二区 | 丁香婷婷成人 | 久久伊人一区 | 欧美日韩久久 | 中文字幕乱码亚洲精品一区 | 国产三级 | 日韩在线 | 国产精品96久久久久久 | 亚洲国产一区二区三区在线观看 | 97人人超碰 | 国产精品视频免费观看 | 日韩有码一区 | 免费同性女女aaa免费网站 | 欧美夜夜| 一区二区成人在线 | av在线伊人| 91极品尤物在线播放国产 | 本道综合精品 | 一级a爱片久久毛片 | 天天综合久久网 | 欧美电影免费观看高清 | 国产重口老太伦 | 99免费看| 精品一区二区电影 | 国产精品视频久久 | 免费在线观看黄色av | 日韩中文字幕一区二区 | 亚洲日韩中文字幕一区 | 国产一区二区久久 | 日一区二区 | 久久精品黄色 | 风间由美一区二区三区在线观看 | 在线国产一区二区 | 久久99蜜桃综合影院免费观看 | 成人一区二区在线 | av网站免费 | 久久99精品久久久97夜夜嗨 | 国产成人自拍一区 |