2013-04-22 37 views
0

有一些文本框顯示給定的行數,當用戶點擊更多的應用程序時,它展開並顯示其餘的部分, 我熟悉代碼來擴大我的UITextView但不知道如何添加「更多...」,然後「少......」,當用戶點擊「更多...」時擴展文本視圖

選項it

微調的問題:我不是希望添加一個按鈕,但是當文本大於控件的大小時,默認的IOS行爲將會放在......末尾或中間,例如:這是...或者是...長

回答

0

你可以拿一個按鈕並添加該UIButton在UITextView下面查看,當你點擊該按鈕時,改變與UITextView相關的按鈕位置和標題。

0

您可以實現,使用方法(sizeWithFont:constrainedToSize:lineBreakMode :)

首先取出你需要顯示成這樣

NSString *textToBeShown = @"jhfsdg djsgf jdsfsdf dsf"; 
CGSize textSize = [textToBeShown sizeWithFont:[UIFont fontWithName:@"Arial-BoldMT" size:11]] 
           constrainedToSize:CGSizeMake(constrainedWidth,constrainedHeight) 
            lineBreakMode:NSLineBreakByWordWrapping]; 

的文本字段的文本的大小假設你想你的在按下「ShowMore」按鈕之前,textview高度爲100.0,然後您可以檢查textSize.height與100.0相比,如果textHeight小於100.0,則將TextView的Heigth指定爲textSize.height,否則將其指定爲100.0像素。 現在,當單擊show more按鈕時,將textSize.height指定爲用於顯示文本的UITextView的高度。

NSString *textToBeShown = @"jhfsdg djsgf jdsfsdf dsf"; 
CGSize textSize = [textToBeShown sizeWithFont:[UIFont fontWithName:@"Arial-BoldMT" size:11]] 
          constrainedToSize:CGSizeMake(constrainedWidth,constrainedHeight) 
           lineBreakMode:NSLineBreakByWordWrapping]; 

textView.frame=CGRectMale(textView.frame.origin.x, 
          textView.frame.origin.y, 
          textSize.width, 
          textSize.height);