成人免费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微服務

2013-05-02 11:21:36

iOS開發流程

2012-12-24 13:23:26

iOS音頻聲效源碼

2025-04-22 03:00:00

模型SpringAI

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

2011-08-03 09:44:18

IOS開發 UITextFiel UITableVie

2013-04-12 15:59:33

2020-03-20 08:00:32

代碼程序員追求

2021-09-29 09:07:22

Docker 日志容器

2021-01-22 05:35:19

Lvm模塊Multipath

2019-04-23 11:21:57

ERP系統管理信息化

2023-10-31 08:01:48

Mybatis參數jdbcurl?

2018-09-12 21:25:15

iOSAppcrash
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本高清不卡视频 | 亚洲精品久久区二区三区蜜桃臀 | 中文字幕在线观看av | 99热热精品 | 精品一二三 | 伊人久麻豆社区 | 一区二区在线 | 欧美第一页 | 国产目拍亚洲精品99久久精品 | 91精品久久久 | 岛国二区 | 国产一区二区久久 | 日韩在线不卡视频 | 国产精品视频播放 | 国产精品美女久久久av超清 | 日韩中文字幕在线观看 | 中文字幕精品一区 | 国产视频福利一区 | 1级毛片 | 玖玖视频免费 | 午夜精品影院 | 久久久久久国产免费视网址 | 91天堂| 亚洲综合激情 | 亚洲欧美国产精品久久 | 天天射天天操天天干 | 国产精品毛片av | 亚洲精品在线国产 | 国产福利小视频 | 天天干天天爱天天操 | 天天夜夜操 | 视频一区二区在线观看 | 美女艹b| 国产日产欧产精品精品推荐蛮挑 | 免费黄色片在线观看 | 国产亚洲区 | 欧美一区二区大片 | 国产一区二区三区色淫影院 | 欧美日韩中文字幕在线 | 国产精品人人做人人爽 | 国产精品免费在线 |