我有一个应用程序,我想支持多个方向.我有两个.xib文件,我想使用myViewController.xib myViewControllerLandscape.xib. myViewController.xib
并存在于project/Resources中,myViewControllerLandscape.xib
并存在于根项目目录中.
我想要做的是使用单独的NIB (myViewControllerLandscape.xib)
进行轮换.我尝试在viewDidLoad l
ike中检测旋转:
if((self.interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (self.interfaceOrientation == UIInterfaceOrientationLandscapeRight))
{
NSLog(@"Landscape detected!");
[self initWithNibName:@"myViewControllerLandscape" bundle:nil];
}
Run Code Online (Sandbox Code Playgroud)
但我可以在gdb中看到,当应用程序以横向设备启动时,不会执行此操作.NSLog消息不会触发.为什么是这样?我做错了什么?
此外,如果我initWithNibName
在viewDidLoad
方法中明确地放置了函数调用,则不会加载该nib,并继续使用myViewController.xib文件.我的电话有什么问题?我应该指定捆绑吗?
谢谢!
结束这样做: 支持多个方向的最简单方法?当应用程序在Landscape中时如何加载自定义NIB?工作精湛!
我在Photoshop中制作了一个图像,我希望在iPad应用程序中将其用作信息屏幕的背景.该图像还包含文本和一些图标.在图像周围,我有一个绿色的边框.
我想要达到的效果是:
当用户从纵向朝向横向时,我希望图像(仅框架和图标)旋转90度,使图像以横向模式显示,而不是在横向上具有框架的纵向视图.文本和图标是分离的(我在不同的UIImageView中组织的不同层)它们将旋转90度.
我已经完成的工作如下:
用这种方法进行了一些实验:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:
Run Code Online (Sandbox Code Playgroud)
并试图这样做:
self.btnFacebook.transform = CGAffineTransformMakeRotation(1.5707964);
Run Code Online (Sandbox Code Playgroud)
我认为它会将btnFacebook属性向右旋转90度(如果我错了,请纠正我),因为它指定了正弧度.我似乎无法让它正常工作.难道这不能将按钮绕框架中心坐标旋转90度吗?这不会导致按钮位置发生变化(按钮是方形)?
制作图像:
由于图像显示图像背景(一些在两个方向看起来都很好的自定义图形)从纵向到横向并旋转,所以它在横向上不显示为肖像,图标与背景分离,因此它们需要旋转为因为他们需要处于正确的方向(这是社交图标).然而,文本位于相同的位置,它只旋转90度而不重新定位.