iPhone: Custom UITableViewCell AccessoryView Button


Change UITableViewCell AccessoryView Button

จากลิ้งบทความก่อนหน้าโน้นได้ฝากลิ้งของการเปลี่ยนไอคอนบน UITableViewCell เอาไว้ให้กดลิ้งไปอ่าน โอเควันนี้มี demo มาให้ดูหละ แต่หลังจากที่ทำตามในเว็บบอกแล้วมันไม่ใช่ Accessory เหมือน Disclosure Detail ที่กดแล้วจะไปโผล่ที่ฟังก์ชั่น accessoryButtonTappedForRowWithIndexPath แต่เราต้องสร้างฟังก์ชั่นขึ้นมารับอีเวนท์เอง เหอะๆ

การเปลี่ยนปุ่ม Accessory วิธีทำคือสร้างปุ่มขึ้นมาแล้ว setAccessoryView ของ cell

code

 

UIButton *dButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 24, 24)];
[dButton setBackgroundColor:[UIColor clearColor]];
[dButton setImage:[UIImage imageNamed:[NSString stringWithFormat:@"icon%d.png",(indexPath.row+1)]] forState:UIControlStateNormal];

ใส่ค่า tag เพื่อบอกว่ามาจากแถวไหน

dButton.tag = indexPath.row;

ใส่ action ในการรับค่าการกดปุ่มด้วย

[dButton addTarget:self action:@selector(checkThis:) forControlEvents:UIControlEventTouchUpInside];

เซ็ตปุ่มที่เราสร้างขึ้นให้เป็น AccessoryView ของ cell

[cell setAccessoryView:dButton];

อย่าลืม! เมื่อเขียนชื่อฟังก์ชั่นที่จะรับอีเวนท์ใน selector แล้วก็ต้องเขียนฟังก์ชั่นในโค้ดด้วยนะ

 

-(void)checkThis:(UIButton*)sender{
//... 
}

Reference

adaydesign :)

About adaydesign

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

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

ใส่ความเห็น

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: