最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS中的UITextView文字輸入光標(biāo)使用技巧小結(jié)

 更新時間:2016年05月31日 09:26:05   投稿:goldensun  
UITextView在用戶體驗方面有著十分明顯的作用,包括鍵盤的呼出及文字的選擇等,接下來就來整理給出一份iOS中的UITextView文字輸入光標(biāo)使用技巧小結(jié),需要的朋友可以參考下

1.創(chuàng)建并初始化

 @property (nonatomic, strong) UITextView *textView; 

// 創(chuàng)建
self.textView = [[UITextView alloc] initWithFrame:self.view.frame]; 

// 設(shè)置textview里面的字體顏色 
 self.textView.textColor = [UIColor blackColor]; 
// 設(shè)置字體名字和字體大小 
 self.textView.font = [UIFont fontWithName:@"Arial" size:18.0]; 
// 設(shè)置代理
 self.textView.delegate = self;  
// 設(shè)置它的背景顏色
 self.textView.backgroundColor = [UIColor whiteColor]; 
 self.textView.text = @“hehe”; 
// 返回鍵的類型 
 self.textView.returnKeyType = UIReturnKeyDefault; 
// 鍵盤類型 
 self.textView.keyboardType = UIKeyboardTypeDefault; 

// 是否可以拖動  
self.textView.scrollEnabled = YES;


2. UITextView退出鍵盤的幾種方式
(1)如果你程序是有導(dǎo)航條的,可以在導(dǎo)航條上面加多一個Done的按鈕,用來退出鍵盤,當(dāng)然要先實(shí)現(xiàn)UITextViewDelegate。

- (void)textViewDidBeginEditing:(UITextView *)textView {  

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(getOverEditing)];  

}  
- (void)textViewDidEndEditing:(UITextView *)textView {  
  self.navigationItem.rightBarButtonItem = nil; 
} 
- (void)getOverEditing{
 [self.textView resignFirstResponder];  
}

(2)如果你的textview里不用回車鍵,可以把回車鍵當(dāng)做退出鍵盤的響應(yīng)鍵。

#pragma mark - UITextView Delegate Methods   
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{  
 if ([text isEqualToString:@"\n"]) {  
   [textView resignFirstResponder];  
   return NO;  
  }
 return YES;  
}

(3)還有你也可以自定義其他視圖控件加載到鍵盤上用來退出,比如在彈出的鍵盤上面加一個view來放置退出鍵盤的Done按鈕。

   UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 30)]; 
   UIBarButtonItem * cancelButton= [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(dismissKeyBoard)]; 
   NSArray * buttonsArray = @[cancelButton]; 
   [topView setItems:buttonsArray]; 
   [self.textView setInputAccessoryView:topView]; 
 -(void)dismissKeyBoard 
 { 
   [tvTextView resignFirstResponder]; 
 }

3.UITextView自定選擇文字后的菜單

在ViewDidLoad中加入:

- (void)viewDidLoad
{
  [super viewDidLoad];
  self._textView = [[UITextView alloc] initWithFrame:CGRectMake(10, 100, 300, 200)];
  [self.view addSubview:_textView];  
  UIMenuItem *menuItem = [[UIMenuItem alloc]initWithTitle:@“我是自定義的菜單" action:@selector(didClickCustomMenuAction)]; 
  UIMenuController *menu = [UIMenuController sharedMenuController]; 
  [menu setMenuItems:[NSArray arrayWithObject:menuItem]]; 
  [menuItem release]; 
}

當(dāng)然上面那個@selector里面的changeColor方法還是自己寫吧,也就是說點(diǎn)擊了我們自定義的菜單項后會觸發(fā)的方法。
然后還得在代碼里加上一個方法:

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{ 
  if(action ==@selector(changeColor) || action == @selector(copy:)) 
  { 
    if(_textView.selectedRange.length>0) 
      return YES; 
  } 
  return NO; 
} 
-(void)didClickCustomMenuAction
{
  NSLog(@"%@“,__function__);
}

4.設(shè)置UITextView內(nèi)邊距
當(dāng)我們因為一些需求將UITextView當(dāng)成UILabel使用(為了使用UITextView自帶的復(fù)制,粘貼,選擇功能),這時我們只需要禁用UITextView的幾個屬性就行了

textView.editable = NO;//不可編輯 
textView.scrollEnabled = NO;//不可滾動 
textView.editable = NO;//不可編輯 
textView.scrollEnabled = NO;//不可滾動 

這樣就ok;
但是當(dāng)我們在實(shí)際運(yùn)用時,想計算文字的大小并設(shè)置UITextView的顯示大小

UIFont *font = [UIFont systemFontOfSize:14.0f]; //指定字符串的大小 
 
[textView setText:content]; 
 
CGSize textSize = [content sizeWithFont:font constrainedToSize:CGSizeMake(200, 2000) lineBreakMode:UILineBreakModeCharacterWrap]; 
 
CGRect articleframe = [articleLabel frame]; 
textView.size.height = textSize.height ; 
 textView.size.width = textSize.width; 
[textView setFrame:articleframe]; 
UIFont *font = [UIFont systemFontOfSize:14.0f]; //指定字符串的大小 
 
[textView setText:content]; 
 
CGSize textSize = [content sizeWithFont:font constrainedToSize:CGSizeMake(200, 2000) lineBreakMode:UILineBreakModeCharacterWrap]; 
 
CGRect articleframe = [articleLabel frame]; 
textView.size.height = textSize.height ; 
 textView.size.width = textSize.width; 
[textView setFrame:articleframe]; 

但是通過這種方法在UILabel上使用沒有任何問題,但是在UITextView是卻不行,文字總是顯示不全,不管你主動寫多了高度給它,當(dāng)文字不一樣了雙會顯示不全或顯示高度過多;
可以用下面的方法試一下

[self.articleLabel setContentInset:UIEdgeInsetsMake(-10, -5, -15, -5)];//設(shè)置UITextView的內(nèi)邊距 
[self.articleLabel setTextAlignment:NSTextAlignmentLeft];//并設(shè)置左對齊 
[self.articleLabel setContentInset:UIEdgeInsetsMake(-10, -5, -15, -5)];//設(shè)置UITextView的內(nèi)邊距 
[self.articleLabel setTextAlignment:NSTextAlignmentLeft];//并設(shè)置左對齊 

相關(guān)文章

  • iOS視頻編輯之添加音軌的方法

    iOS視頻編輯之添加音軌的方法

    本篇文章主要介紹了iOS視頻編輯之添加音軌的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • 利用iOS繪制圖片生成隨機(jī)驗證碼示例代碼

    利用iOS繪制圖片生成隨機(jī)驗證碼示例代碼

    驗證碼的功能一般是防止使用程序惡意注冊、暴力破解或批量發(fā)帖而設(shè)置的。所謂驗證碼,就是將一串隨機(jī)產(chǎn)生的數(shù)字或符號,生成一幅圖片,圖片里加上一些干擾象素(防止OCR),圖片驗證碼相信大家都見到過,這篇文章用示例代碼給大家介紹iOS繪制圖片生成隨機(jī)驗證碼的方法。
    2016-11-11
  • IOS簡單實(shí)現(xiàn)瀑布流UICollectionView

    IOS簡單實(shí)現(xiàn)瀑布流UICollectionView

    這篇文章主要為大家介紹了IOS簡單實(shí)現(xiàn)瀑布流UICollectionView的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • iOS獲取手機(jī)通訊錄方式方法(最新)

    iOS獲取手機(jī)通訊錄方式方法(最新)

    本篇文章主要介紹了iOS獲取手機(jī)通訊錄方式方法(最新),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 解決ios手機(jī)中input輸入框光標(biāo)過長的問題

    解決ios手機(jī)中input輸入框光標(biāo)過長的問題

    在項目中做移動端頁面,發(fā)現(xiàn)IOS 的光標(biāo)大小很大,和安卓的完全不一樣,怎么來調(diào)整大小呢?下面小編給大家?guī)砹薸os手機(jī)中input輸入框光標(biāo)過長問題的解決方法,一起看看吧
    2018-08-08
  • iOS點(diǎn)擊文字按鈕變轉(zhuǎn)圈加載效果

    iOS點(diǎn)擊文字按鈕變轉(zhuǎn)圈加載效果

    這篇文章主要為大家詳細(xì)介紹了iOS點(diǎn)擊文字按鈕變轉(zhuǎn)圈加載效果的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-05-05
  • xcode 左邊導(dǎo)航欄中符合含義詳解

    xcode 左邊導(dǎo)航欄中符合含義詳解

    這篇文章主要介紹了xcode 左邊導(dǎo)航欄中符合含義詳解的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • iOS實(shí)現(xiàn)毫秒倒計時的方法詳解

    iOS實(shí)現(xiàn)毫秒倒計時的方法詳解

    倒計時在我們?nèi)粘i_發(fā)中必不可少,最近在公司的一個項目中就遇到了這個需求,本文著重介紹的是利用iOS實(shí)現(xiàn)毫秒倒計時的方法,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-04-04
  • Xcode 下刪除Provisioning Profiles文件詳細(xì)介紹

    Xcode 下刪除Provisioning Profiles文件詳細(xì)介紹

    這篇文章主要介紹了Xcode 下刪除Provisioning Profiles文件詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • iOS開發(fā)存儲應(yīng)用程序Info.plist知識全面詳解

    iOS開發(fā)存儲應(yīng)用程序Info.plist知識全面詳解

    這篇文章主要為大家介紹了iOS開發(fā)存儲應(yīng)用程序Info.plist知識全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06

最新評論

灵璧县| 咸丰县| 阿图什市| 阿拉善左旗| 罗平县| 漠河县| 库伦旗| 集安市| 乌兰察布市| 湘潭县| 义乌市| 霍州市| 彰化县| 永和县| 凤翔县| 康定县| 依兰县| 镇赉县| 琼中| 绥阳县| 泰和县| 西城区| 隆安县| 杭锦后旗| 南涧| 自治县| 岳阳县| 长海县| 英山县| 马鞍山市| 六安市| 水城县| 甘泉县| 潍坊市| 凭祥市| 高雄县| 丹江口市| 略阳县| 中西区| 扬州市| 临澧县|