2
我在屏幕上以編程方式放置了一個帶有框架(0,100,50,50)的UIView,並將其autoresizingMask設置爲UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin,當我開始旋轉屏幕時,視圖由於某種原因粘在右邊。如果我設置視圖框架(20,100,50,50),一切正常。Autoresizingmask工作不正常
我在做什麼錯?
示例代碼:
- (void)viewDidLoad
{
[super viewDidLoad];
UIView *cell = [[UIView alloc] initWithFrame:CGRectMake(0, 100, 50, 50)];
cell.backgroundColor = [UIColor blackColor];
cell.autoresizingMask = UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleLeftMargin;
[self.view addSubview:cell];
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
循環之前:
---------------------------
| |
|===== |
|| | |
|===== |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
-----------------------------
| o |
---------------------------
後旋轉一切工作不好:
------------------------------------------------
| | |
| =====| |
| | || |
| =====| |
| | |
| | o |
| | |
| | |
| | |
| | |
| | |
------------------------------------------------
---------------------------
| |
| =====|
| | ||
| =====|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
-----------------------------
| o |
---------------------------
如果我改變
的UIView *電池= [[ UIView a ]; initWithFrame:CGRectMake(0,100,50,50)];
到
的UIView *細胞= [[UIView的頁頭] initWithFrame:方法CGRectMake(20,100,50,50)];
循環之前:
---------------------------
| |
| ===== |
| | | |
| ===== |
| |
| |
| |
| |
| |
| |
| |
| |
| |
-----------------------------
| o |
---------------------------
後旋轉一切工作良好:
-------------------------------------------------
| | |
| ===== | |
| | | | |
| ===== | |
| | |
| | o |
| | |
| | |
| | |
| | |
| | |
-------------------------------------------------
---------------------------
| |
| ===== |
| | | |
| ===== |
| |
| |
| |
| |
| |
| |
| |
| |
| |
-----------------------------
| o |
---------------------------
什麼你想在你的原始x = 0幀的情況發生? – 2014-09-20 13:18:05
當我將設備轉回縱向時,至少視圖必須回到初始位置。我不明白爲什麼觀點堅持正確的邊緣? – Juancho 2014-09-20 13:41:00