iPhone: Resize UITextView follow content


Resize UITextView follow content

จาก Code iPhone: Resize UITextView follow content เปิดการเก็บโค้ดแบบ snippet เป็นบทความแรก เอ๋แล้วมันคืออะไร?? code snippet คือการตัดเอาบางส่วนที่สำคัญของโค้ดมาเก็บเอาไว้ เพื่อง่ายต่อการค้นหา และก้อปปี้ไปต่อยอดกับโปรเจคอื่นได้นั้นเอง เพียงแค่ code snippet บางครั้งอาจจะมองไม่เห็นภาพแต่หากเราคุ้นเคยกับมันแล้ว มันคือคลังโค้ดที่ใหญ่มากๆ เลย …มาต่อเข้าเรื่องเลยดีกว่า ว่าด้วยการเพิ่ม/ลด ขนาดของ UITextView ให้ตามเนื้อหาทีี่อยู่ด้านใน

ขั้นตอน

1. กำหนดขนาดใหญ่ที่สุดที่จะให้ textview ขยายได้

#define MAXSIZE 2000 //MAXSIZE of text view to resize

2. ประกาศค่า text

NSString *myText = @"adaydesign’s blog url: https://adayd3sign.wordpress.com/
One stop service and portal of knowledge about iPhone, Android, Blackberry,
Window phone7, Flash Platform and HTML5 developer.";

3. ดึงค่า fSize ของ text ด้วย sizeWithFont

//get height of String with font size
CGSize fSize = [myText sizeWithFont:[UIFont systemFontOfSize:16]
                  constrainedToSize:CGSizeMake(320, MAXSIZE)
                      lineBreakMode:UILineBreakModeWordWrap];

4. กำหนดค่า ความสูง ความกว้าง ของ CGRect ที่จะเอาไปใส่ TextView

CGRect cgFrame = CGRectMake(0, (fSize.height+10)*i, 320, fSize.height+10);
UITextView *label = [[UITextView alloc] initWithFrame:cgFrame];

5. กำหนดขนาด Font ให้เท่ากับขนาดที่กำหนดในข้อที่ 3

[label setFont:[UIFont systemFontOfSize:16]];

6. ปิดการแสดงสกอบาร์ และ set text

[label setScrollEnabled:NO];
label.text = myText;

Reference

adaydesign :)

About adaydesign

นักพัฒนาแอพพลิเคชั่นบนโมบาย [iPhone Android] คนหนึ่งซึ่งอยากจะบันทึกเรื่องราวของเส้นทางนักพัฒนาโมบายแอพพลิเคชั่นเอาไว้ในบล็อคน้อยๆ แห่งนี้ เผื่อจะแบ่งบันและแลกเปลี่ยนความรู้ให้กับคนอื่นๆ ได้บ้าง :) Mobile Application Developer; Flash Mobile, iPhone/iPad, Android Mobile Phone/Tablet and Blackberry Playbook.

Posted on มีนาคม 20, 2011, in [Dev] iOS and tagged , , , , , , . Bookmark the permalink. 1 ความเห็น.

  1. มีประโยชน์มากเลยค่ะ ขอบคุณนะคะ ^^

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: