Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone


VPS  250 ҷ͹

iOS/iPhone Portrait and Landscape Orientation (Objective-C, iPhone, iPad)

iOS/iPhone Portrait and Landscape Orientation (Objective-C, iPhone, iPad) บทความนี้เราจะมารู้จักวิธีการเปลี่ยนมุมมองของเครื่อง iPhone หรือ iPad และการเรียกใช้งานมุมมองแบบ Portrait (แนวตั้ง) และ แนวนอน (Landscape) รวมทั้งการสร้าง View เพื่อให้สามารถแสดงผลตามมุมมองต่าง ๆ ที่ต้องการ

iOS/iPhone Portrait and Landscape Orientation

iOS/iPhone Portrait and Landscape Orientation


ในการเขียน App iOS สำหรับ iPhone และ iPad บน Xcode นั้น การกำหนดให้ App ว่าจะให้รองรับมุมมองต่าง ๆ ของหน้าจอ เช่น แนวตั้ง แนวนอน สามารถกำหนดได้ง่ายมาก ๆ และแทบจะไม่ต้องทำอะไรเลย เพียงแค่คลิก และก็คลิกเท่านั้น

iOS/iPhone Portrait and Landscape Orientation

ทดสอบการสร้าง App แบบง่าย ๆ ด้วย Single View Application

iOS/iPhone Portrait and Landscape Orientation

และข้อมูลและเลือกดังรูป

iOS/iPhone Portrait and Landscape Orientation

ทดสอบสร้าง Label แบบง่าย ๆ บนหน้าจอของ View








iOS/iPhone Portrait and Landscape Orientation

ทดสอบการรันบน iOS Simulator

iOS/iPhone Portrait and Landscape Orientation

ในการหมุ่นเพื่อปรับให้ Simulator อยู่ในทิศทางต่าง ๆ ให้ไปที่ Hardware -> Retate ... เลือกเพื่อสลับไปยังตำแหน่งที่ต้องการ

iOS/iPhone Portrait and Landscape Orientation

จะได้มุมมองในแนวนอน

iOS/iPhone Portrait and Landscape Orientation

กลับไปมุมมองเดิม

การปรับแต่ง App ว่าจะให้ Support มุมมองไหนบ้าง

iOS/iPhone Portrait and Landscape Orientation

คลิกที่ Project และ Application หลัก

iOS/iPhone Portrait and Landscape Orientation

ตรง Supported Interface Orientation คลิกเลือกได้เลย ว่าจะให้ Support มุมมองไหนบ้าง

iOS/iPhone Portrait and Landscape Orientation

หรือจะปรับแต่งที่ info.plist


Ex 1 ตัวอย่างการสร้าง View ขึ้นมา 2 View และเลือกแสดงระหว่าง มุมมอง แนวตั้ง และ แนวนอน

iOS/iPhone Portrait and Landscape Orientation

กลับมายัง View หลัก ให้ออกแบบหน้าจอดังรูป

iOS/iPhone Portrait and Landscape Orientation

ทำการจาก Object ที่ชื่อว่า View มาใส่ดังรูป

iOS/iPhone Portrait and Landscape Orientation

ซึ่งตอนนี้เราจะได้ View ขึ้นมา 2 ตัว เราจะเรียกว่า View 1 และ View 2

iOS/iPhone Portrait and Landscape Orientation

View 2 ให้เลือก Landscape เพื่อปรับเป็นแนวนอน

iOS/iPhone Portrait and Landscape Orientation

เราจะได้ View 1 (Portrait แนวตั้ง) และ View 2 (Landscape แนวนอน)

iOS/iPhone Portrait and Landscape Orientation

ทดสอบเปลี่ยน Background และใส่ Label ดังรูป








iOS/iPhone Portrait and Landscape Orientation

สร้าง IBOutlet สำหรับ View 1

iOS/iPhone Portrait and Landscape Orientation

สร้าง IBOutlet สำหรับ View 2

iOS/iPhone Portrait and Landscape Orientation

จะได้ สร้าง IBOutlet ทั้ง 2 View เรียบร้อย

ViewController.h
//
//  ViewController.h
//
//  Created by Weerachai on 11/2/55 BE.
//  Copyright (c) 2555 Weerachai. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController


@property (retain, nonatomic) IBOutlet UIView *portaitMode;
@property (retain, nonatomic) IBOutlet UIView *landscapeMode;

@end


จากนั้นในไฟล์ .m ให้ใส่ Code ดังนี้

ViewController.m
//
//  ViewController.m
//
//  Created by Weerachai on 11/2/55 BE.
//  Copyright (c) 2555 Weerachai. All rights reserved.
//

#import "ViewController.h"
#define deg2rad (3.1415926/180.0)

@interface ViewController ()

@end

@implementation ViewController

@synthesize portaitMode;
@synthesize landscapeMode;

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)dealloc {
    [portaitMode release];
    [landscapeMode release];
    [self setPortaitView:nil];
    [self setLandscapeView:nil];
    [super dealloc];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Allowed supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown ||
            interfaceOrientation == UIInterfaceOrientationPortrait ||
            interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
            interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
    
    if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
    {
        self.view=landscapeMode;
        self.view.transform=CGAffineTransformMakeRotation(deg2rad* (90));
        self.view.bounds=CGRectMake(0.0,0.0,480.0,320.0);
    } else if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft)
    {
        self.view=landscapeMode;
        self.view.transform=CGAffineTransformMakeRotation(deg2rad* (-90));
        self.view.bounds=CGRectMake(0.0,0.0,480.0,320.0);
    } else if (toInterfaceOrientation == UIInterfaceOrientationPortrait)
    {
        self.view=portaitMode;
        self.view.transform=CGAffineTransformMakeRotation(deg2rad* (0));
        self.view.bounds=CGRectMake(0.0,0.0,320.0,480.0);
    } else
    {
        self.view=portaitMode;
        self.view.transform=CGAffineTransformMakeRotation(deg2rad* (180));
        self.view.bounds=CGRectMake(0.0,0.0,320.0,480.0);
    }
    
}
@end

สำหรับ Code อาจจะนั่งไล่ดู แต่สามาถเข้าใจได้โดยไม่ยาก



Screenshot

iOS/iPhone Portrait and Landscape Orientation

เมื่ออยู่ในแนวตั้ง (Portrait) ก็จะเลือก View 1

iOS/iPhone Portrait and Landscape Orientation

เลือกเปลี่ยนมุมมองให้อยู่ในแนวนอน

iOS/iPhone Portrait and Landscape Orientation

เมื่ออยู่ในแนวนอน (Landscape) ก็จะเลือก View 2

   
Share


ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท


ลองใช้ค้นหาข้อมูล


   


Bookmark.   
       
  By : ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ)
  Score Rating :  
  Create/Update Date : 2012-11-07 10:35:56 / 2017-03-26 09:49:20
  Download : Download  iOS/iPhone Portrait and Landscape Orientation (Objective-C, iPhone, iPad)
 Sponsored Links / Related

 
iOS/iPhone Multiple View (Objective-C, iPhone, iPad)
Rating :

 
iOS/iPhone Change View Startup Open First (Objective-C, iPhone, iPad)
Rating :

 
iOS/iPhone Storyboard and View , Multiple View (Objective-C, iPhone, iPad)
Rating :

 
iOS/iPhone Passing Data Between View (Objective-C,iPhone,iPad)
Rating :

 
iOS/iPhone Splash Screen Launch and Apps icons Launcher Example (iPhone,iPad)
Rating :

 
iOS/iPhone Master Detail Wizard Application (Add/Insert/Delete/Table View)
Rating :


ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


สุดยอด Source Code V2.0
 

แจ้งชำระเงิน/โอนเงิน
 

Hit Link
   


Acc : thaicreate@hotmail.com






Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
for Contact Us : [Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่