日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 【iOS開發-17】UITextView屬性,點擊新增內容案例,及UITextViewDelegate里光標/值變化的操作方法

【iOS開發-17】UITextView屬性,點擊新增內容案例,及UITextViewDelegate里光標/值變化的操作方法

來源:程序員人生   發布時間:2014-10-12 16:07:23 閱讀次數:2497次

(1)UITextView和UITextField的區別可以(簡單)理解為,前者是一塊區域可以寫很多東西有換行滾動條神馬的,后者只有一行文本,類似于html里面的textarea和text。


(2)在本例中,我們利用一個UITextField和一個UIButton不斷把UITextField里面的內容加到UITextView的最后一行。這里面用到給按鈕增加 一個事件,并在事件里面把UITextField.text加到UITextView.text的后面。


(3)在本例中為了用戶體驗,可以設置每次增減內容后,光標或者文本框是現實最后一行的,這里面用了scrollRangeToVisible方法,這個方法需要一個Range參數,我們可以獲得UITextView的selectedRange后當做參數傳遞過去。這個Range系列都是一個struct結構,包括位置和長度兩個參數的結構,有點類似于CGPoint和CGSize的感覺。


(4)還利用在AppDelegate.h中增加UITextViewDelegate協議,了解其中的方法,有幾個是否允許編輯、結束編輯、編輯和結束編輯后如何操作等等。


(5)還有幾個協議方法比較重要,因為涉及到是否可以改變內容,內容改變后或者觸發seletedRange里面的位置或者長度(也就是光標位置改變和增減內容)發生變化時如何操作。這個……呃……很實用吧。當然還可以輸出變化的內容等等。


#import "ViewController.h" @interface ViewController () @end @implementation ViewController { UITextView *textView1; UITextField *textField1; } - (void)viewDidLoad { //初始化 textView1=[[UITextView alloc]init]; //設置大小位置 textView1.frame=CGRectMake(10, 30, 300, 100); //設置背景顏色 textView1.backgroundColor=[UIColor orangeColor]; //設置文字內容 textView1.text=@"what should i say to u,my lovely world,hello,anybody home.我是小壞蛋,你們有誰知道嗎?我不知道該輸入什么了啊!還要繼續輸入嗎?真得嗎?hello,aggin,here am i.what are you doing,man?where are u going man?"; //設置字體大小,加粗和斜體等 textView1.font=[UIFont boldSystemFontOfSize:20]; //經過以上設置,文字超過框,我們可以上下滾動來查看,而且我們也能繼續輸入添加刪除等等,還可以copy和cut(雙擊文字) //還可以換行輸入等等,這是和textField的區別之一 //如果是否可編輯設置為NO,則不可添加刪除和cut,只能copy //這個時候鍵盤也不出來了,只能雙擊文字copy textView1.editable=YES; //在AppDelegate中加入UITextViewDelegate后 textView1.delegate=self; [self.view addSubview:textView1]; //我們增加一個UITextField和UIButton,在UITextField中輸入內容,然后按鈕添加,就把內容添加到UITextView中 textField1=[[UITextField alloc]init]; textField1.frame=CGRectMake(10, 150, 300, 30); textField1.borderStyle=UITextBorderStyleRoundedRect; [self.view addSubview:textField1]; UIButton *btn1=[UIButton buttonWithType:UIButtonTypeRoundedRect]; btn1.frame=CGRectMake(10, 200, 300, 30); [btn1 setTitle:@"添加" forState:UIControlStateNormal]; btn1.backgroundColor=[UIColor orangeColor]; [self.view addSubview:btn1]; //給btn1增加一個事件 [btn1 addTarget:self action:@selector(addText1) forControlEvents:UIControlEventTouchUpInside]; [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } -(void)addText1{ //注意用的函數是stringByAppendingFormat textView1.text=[textView1.text stringByAppendingFormat:@" %@",textField1.text]; //添加后光標定位在最尾部 //slectedRange是一個結構,表示位置和長度,后面的NSMakeRange同樣 //NSUInteger 表示無符號的整型,但用下面兩行設置無效,因為selectedRange是一個屬性,可以獲得值也可以賦值但不是方法不可以操作滾動動作 //NSUInteger len1=textView1.text.length-1; //textView1.selectedRange=NSMakeRange(len1, 0); //需要用一下滾動操作的方法,并且把selectedRange屬性值作為Range值傳遞進去 //不滿意的是每次新添加后它都要從Top滾動到尾部,感覺怪怪的 [textView1 scrollRangeToVisible:textView1.selectedRange]; } //以下四個協議里面的方式和UITextFieldDelegate里地一樣,略去不說 //- (BOOL)textViewShouldBeginEditing:(UITextView *)textView; //- (BOOL)textViewShouldEndEditing:(UITextView *)textView; //- (void)textViewDidBeginEditing:(UITextView *)textView; //- (void)textViewDidEndEditing:(UITextView *)textView; //一看是BOOL,不是YES就是NO,就是允許修改內容 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ return YES; } //只有在內容改變時才觸發,而且這個改變內容是手動輸入有效,用本例中得按鈕增加內容不觸發這個操作 - (void)textViewDidChange:(UITextView *)textView{ NSLog(@"Did Change"); } //幾乎所有操作都會觸發textViewDidChangeSelection,包括點擊文本框、增加內容刪除內容 //可以理解為只要于selectedRange有關都會觸發,(位置與長度) - (void)textViewDidChangeSelection:(UITextView *)textView{ NSLog(@"Did Change Selection"); } @end

截個圖:


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 最新国产精品视频 | 91精品久久久久久9s密挑 | 免费av网站在线观看 | 精品久久久久久国产 | 日韩在线国产 | 精品一区国产 | 国产无套精品一区二区 | 视频精品一区二区三区 | 免费看av大片| 国产精品久久国产精品 | 狠狠综合久久av一区二区老牛 | 日韩精品一区二区三区在线播放 | 免费不卡视频 | 亚洲国产99 | 久久久久久亚洲 | 国产精品一区二区久久久 | 欧美日韩一区二 | 精品九九九 | 久久久国产精品视频 | 欧美多人在线 | 男女在线观看视频 | 精品视频久久 | 爱情岛论坛首页网址 | 91久久久久久久 | 亚洲福利视频一区二区 | 国内精品国产成人国产三级粉色 | 欧美成人精精品一区二区频 | 久草手机在线观看 | 欧美成网站 | 久久久久久久久久美女 | 欧美一区二区三区电影 | 国产日韩精品一区 | 日韩一级片| 国产成人av一区二区三区在线观看 | 麻豆精品在线播放 | 国产高清精品一区二区三区 | 日韩美女福利视频 | 亚洲欧美日韩国产 | 国产在线二区 | 日日夜夜天天 | 黄网站色 |