<pre name="code" class="objc">#import "ViewController.h"
#import "TestView.h"
#define UIInterfaceOrientationIsPortrait(orientation) ((orientation) == UIInterfaceOrientationPortrait || (orientation) == UIInterfaceOrientationPortraitUpsideDown)
#define UIInterfaceOrientationIsLandscape(orientation) ((orientation) == UIInterfaceOrientationLandscapeLeft || (orientation) == UIInterfaceOrientationLandscapeRight)
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
TestView * test= [[TestView alloc] initWithFrame:CGRectMake(20, 40, 100, 50)];
test.backgroundColor = [UIColor redColor];
//会调用layoutSubviews方法
[self.view addSubview:test];
test.text = @"我们的大中国";
//会调用sizeThatFits:方法
[test sizeToFit];
}
//是否允许屏幕旋转
-(BOOL)shouldAutorotate
{
return YES;
}
//允许的屏幕方向。
-(UIInterfaceOrientationMask)supportedInterfaceOrientations
{ //phone只支持正方向,pad只支持左右横屏
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
{
return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}
return UIInterfaceOrientationMaskPortrait;
}
//是否应该旋转到某一屏幕方向(待测试)
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
{
return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}
return UIInterfaceOrientationIsPortrait(toInterfaceOrientation);
}