[iOS Dev] Working with UITapGestureRecognizer

โดยปกติแล้วเราจะมีวัตถุ UIButton เพื่อรับ Action จากผู้ใช้ ...
วันนี้เราจะมาลองเล่น UIGestureRecognizer ซึ่งจะเป็นวัตถุที่เอาไว้
รับการกระทำจากนิ้วของ User กับวัตถุที่เป็น View ต่างๆ

ซึ่ง UIGestureRecognizer ก็มีหลายอย่างทั้ง Tap (Touch), Pan (Drag), Pinch (Zoom), Rotation
ใน Blog นี้เราจะพูดถึงแค่ Tap ซึ่งจะใช้วัตถุที่สืบทอดมา นั่นคือ UITapGestureRecognizer 

สร้างภาพกันก่อนครับ ~ อ๊ะ ไม่ใช่ ... 
สร้าง UIImageView มาตัวนึง ทำการเชื่อมต่อ IBOutlet และ Synthesize ให้เรียบร้อยนะครับ 

จากนั้นผมเขียน Function ให้กำหนดค่า ImageView ตัวนี้ด้วยภาพที่ชื่อว่า "Photo.png"
และทำการ Set ให้รับการกระทำต่อวัตถุโดยผู้ใช่้ด้วย
(ปกติค่าจะ Default เป็น NO ครับ สำหรับ UIImageView และ UIView ต่างๆ)


เรื่องตัวแปร isTapped นี่อย่าพึ่งสงสัยครับ ผมประกาศเป็น Instance Variable ไว้ที่ Implementation File 


จากนั้นเราจะทำการใส่ Gesture ให้กับ UIImageView ของเรา ซึ่งไม่ได้ยากอะไรนะครับ 
แค่ init ด้วย Target (คนที่จะเรียกใช้ Selector ควบคุม ในที่นี้คือ Class นี้ ก็คือ self นั่นเอง)
จากนั้นก็กำหนดว่า Selector ตัวไหน จะเป็นคนควบคุม Gesture ตัวนี้
แล้วก็สั่งให้ ImageView ทำการ AddGestureRecognizer


จากนั้นเราก็จะมาเขียน Selector เพื่อควบคุมการกระทำของ ImageView ตัวนี้ ... 
ของผมเนี่ย สั่งไว้ว่า ถ้ากดที่ ImageView ก็ให้เปลี่ยนเป็นอีกรูปหนึ่ง เมื่อกดอีกครั้งก็เปลี่ยนกลับ
Code ที่ได้ก็ประมาณนี้ครับ


จบเท่านี้ล่ะครับ ไม่ยากเลยใช่ไหม ? 
ลองเอาไปประยุกต์กันนะครับ Entry เจอกับ UIPanGestureRecognizer 

Popular posts from this blog

12 วิธี การบริการและดูแลลูกค้าในร้าน Starbucks

[Android Dev] การติดตั้ง Eclipse+AndroidSDK เพื่อพัฒนาโปรแกรมบน Android

5 TED Talk ที่จะช่วยให้คุณทำงานดีขึ้น