iPhone: Creating a Splash Screen (Fade Out Style)


iPhone: Creating a Splash Screen (Fade Out Style)

จากที่ผมเคยเสนอวิธีทำ Splash Screen ที่แสนง่ายในบทความ iPhone: Creating a Splash Screen เพียงแค่มีรูป Default.png ก็สามารถทำ splash screen ได้แล้ว แต่วันนี้ผมจะนำเทคนิคเพิ่มเติมทำให้ splash screen มีความน่าสนใจยิ่งขึ้น คือ ทำให้ splash screen มันจางหายออกไป โอเคบางคนอาจจะเคยทำ เคยใช้แบบ Timer แต่ผมไม่ใช่แบบนั้น มันมีแบบที่ง่ายกว่านั้นอีก ลองมาดูกัน

ขั้นตอน ผมจะยึดตามบทความ iPhone: Creating a Splash Screen นะครับ เพราะว่า เพิ่มโค้ดอีกเพียงไม่กี่บรรทัดเท่านั้นเอง

หลักการคือ จากฟังก์ชั่นการสร้าง PerformSector ทำให้เราสามารถกำหนดเวลาที่จะเข้าทำงานในฟังก์ชั่นของเราได้ ผมจึงใช้ฟังก์ชั่น hideSplash เป็นฟังก์ชั่นในการควบคุมการ Fade Out ครับ เมื่อ splash screen จางหายไป (alpha = 0) ผมก็จะสั่งให้ remove splash screen ออกจาก Super View เท่านี้เอง มาดูกันครับว่าผมเขียนโค้ดอะไรบ้าง

– ในฟังก์ชั่น showSplash

-(void) showSplash{
    splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    splashView.image = [UIImage imageNamed:@"Default.png"];
    [window addSubview:splashView];
    [window bringSubviewToFront:splashView];
    [self performSelector:@selector(hideSplash) withObject:nil afterDelay:0.1];
}

– ในฟังก์ชั่น hideSplash

-(void) hideSplash{
    splashView.alpha = splashView.alpha-0.03;
    if (splashView.alpha<=0) {
        [splashView removeFromSuperview];
        [splashView release];
    }else{
        [self performSelector:@selector(hideSplash) withObject:nil afterDelay:0.1];
    }
}

อธิบายเพิ่มเติม

  1. ฟังก์ชั่น showSplash ผมลด delay ลงเนื่องจะมันจะเป็น delay ในแต่ละรอบที่เข้าทำงานในฟังก์ชั่น hideSplash
  2. ส่วนฟังก์ชั่น hideSplash ผมเขียนเพิ่มแค่การ ลดค่า alpha และ การวนเรียกฟังก์ชั่นเดิม เมื่อ alpha มันยังไม่เท่ากับ 0

ผลลัพธ์

เปรียบเทียบกับการใช้ Timer นะครับ

บทความที่เกี่ยวข้อง

adaydesign :)

About adaydesign

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

Posted on พฤษภาคม 10, 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: