Sunday, October 7, 2012

UIRefresh Control

บทเริ่มแรกขอแนะนำเกี่ยวกับความสามารถใหม่บน iOS6 กันดีกว่านะครับ กำลังมันส์มือ ^^ สำหรับใครที่อัพเดท iOS เป็นเวอร์ชัน 6 ไปเป็นที่เรียบร้อยน่าจะเห็น Pull to Refresh ตัวหนึ่งที่อยู่ใน Mail App นะครับ หน้าตามันจะเป็นแบบดังภาพนี้เลย


คงจะอ๋อกันแล้วนะครับ สำหรับ Refresh ตัวนี้ โดยความสามารถ Apple ได้เปิดให้นักพัฒนาสามารถใช้งานได้เหมือนกันแต่ต้องเป็น iOS6 ขึ้นไปนะครับถึงจะใช้ได้
สำหรับ Control ตัวนี้มีชื่อว่า UIRefreshControl หากใครใช้ XCode 4.5 ขึ้นไป ก็ลองเล่นดูกันได้ครับ 

เริ่มต้นผมสร้าง Object ของ UIRefreshControl ขึ้นมาแล้วเพิ่มเข้าไปเป็น Subview ของ UITableView ต้องเป็น UITableView เท่านั้นนะครับ


- (void)viewDidLoad
{
    [super viewDidLoad];
    
    refreshControl = [[UIRefreshControl alloc] init];
    [refreshControl addTarget:self action:@selector(pullRefresh) forControlEvents:UIControlEventValueChanged];

    [self.tableView addSubview:refreshControl];
}


จากนั้นถ้าเร่ิมมีการ Pull ผมจะให้โปรแกรมเข้าไปทำงานในส่วนของ Method -(void) pullRefresh แล้วส่ัง หยุดการ Refresh หากใครที่นำไปประยุคใช้ก็ให้มาทำคำสั่งที่เราต้องการใน Method นี้ได้เลยครับ เช่น สั่งโหลดข้อมูลล่าสุด แล้ว Reload TableView เป็นต้นครับ

- (void) pullRefresh {
    [refreshControl endRefreshing];
}

สำหรับ RefreshControl ก็มีเท่านี้ครับ ง่ายใช่ไหมละ ลองฝึกใช้กันนะครับ เดี๋ยวก็คล่องแล้ว ส่วนใครอยากลองดาวโหลด Source ไปเล่นดูก็ จิ้มได้เลยครับ


No comments:

Post a Comment