Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何定位相对于屏幕一侧的视图_Iphone_Ios_Core Graphics_Cgaffinetransform_Autoresizingmask - Fatal编程技术网

Iphone 如何定位相对于屏幕一侧的视图

Iphone 如何定位相对于屏幕一侧的视图,iphone,ios,core-graphics,cgaffinetransform,autoresizingmask,Iphone,Ios,Core Graphics,Cgaffinetransform,Autoresizingmask,我正在创建一个iOS应用程序,它直接在代码中创建布局。我习惯于使用xib,但这不是这个项目的选项。我不知道如何定位固定在屏幕底部/侧面的元素。我正在寻找的解决方案将它定位在纵向的底部,但在旋转时将它固定在右侧(与照相机应用程序中的底部栏的工作方式非常类似)。这是正确的底部屏幕的肖像,问题是在旋转 另外,我正在为iOS5构建,所以我需要一个不使用自动布局的解决方案 这是我到目前为止在“旋转到横向”上所做的代码。我的想法是旋转90度(这是可行的),然后使用某种遮罩将其固定在左手侧。我哪里出了问题?甚

我正在创建一个iOS应用程序,它直接在代码中创建布局。我习惯于使用xib,但这不是这个项目的选项。我不知道如何定位固定在屏幕底部/侧面的元素。我正在寻找的解决方案将它定位在纵向的底部,但在旋转时将它固定在右侧(与照相机应用程序中的底部栏的工作方式非常类似)。这是正确的底部屏幕的肖像,问题是在旋转

另外,我正在为iOS5构建,所以我需要一个不使用自动布局的解决方案

这是我到目前为止在“旋转到横向”上所做的代码。我的想法是旋转90度(这是可行的),然后使用某种遮罩将其固定在左手侧。我哪里出了问题?甚至可以像这样锚定一个对象吗

myView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleLeftMargin;


CGAffineTransform rotate90 = CGAffineTransformMakeRotation(degreesToRadians(-90));

myView.transform = rotate90;

不要处理酒吧,而是处理酒吧内的视图

试试这个:

1) 使用以下方法防止应用程序自动旋转:

//For iOS 5 and lower
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
    return NO;
}

//For iOS 6 and upper
- (BOOL)shouldAutorotate {
    return NO;
}
2) 旋转酒吧内的视图,而不是酒吧本身


希望它能对您有所帮助。

您需要使用
NSLayoutConstraints
来执行此操作

我不太了解约束编码,所以请参考更多参考


这显然是一个理想的解决方案,只是它依赖于iOS 6和higher@Jameo:谢谢你的评论。对不起,我帮不了你更多的忙:)谢谢,这很有道理。还有一些我没有提到的观点需要改变,但希望这很容易。而且,看起来苹果想要“返回UIDeviceOrientationSportRait(到InterfaceOrientation);”而不是仅仅“不”