我想添加一個子視圖到一個特定的視圖(壞視圖),它總是出現一點點的權利,我想要它(屏幕上的x值不同)。子視圖顯示在不同的地方在兩個視圖與相同的框架和超級視圖
但是,我注意到,當我將此子視圖添加到不同的視圖(良好視圖)時,它被放置在正確的位置。
錯誤視圖和良好視圖是同一視圖的子視圖並具有相同的框架(良好視圖是滾動視圖中的可縮放視圖,而錯誤視圖是不縮放的疊加視圖)。
我運行下面的代碼:
view.frame = [[self tiledScrollView] tileContainerView].frame;
if ([[[self tiledScrollView] tileContainerView] superview] == [view superview])
{
NSLog(@"SAME SUPERVIEWS");
}
[[self tiledScrollView] tileContainerView].frame = view.frame;
NSLog(@"FRAME FOR VIEW THAT DISPLAYS INCORRECTLY: %f, %f, %f, %f, \n FRAME FOR VIEW THAT DISPLAYS CORRECTLY: %f, %f, %f, %f", view.frame.origin.x, view.frame.origin.y, view.frame.size.width, view.frame.size.height, [[self tiledScrollView] tileContainerView].frame.origin.x, [[self tiledScrollView] tileContainerView].frame.origin.y, [[self tiledScrollView] tileContainerView].frame.size.width, [[self tiledScrollView] tileContainerView].frame.size.height);
緊接着又是我的子視圖添加爲[[自我tiledScrollView] tileContainerView(好景)或查看(糟糕的看法)。
在良好的視圖中,標籤出現在我想要的位置。在錯誤視圖中,標籤顯示在右側一點。
從上面的代碼的輸出是:
SAME SUPERVIEWS
幀查看顯示不正確:0.000275,0.000000,983.999451,648.282349, 幀查看顯示正確:0.000293,-0.000003, 983.999390,648.282349
因此,他們實際上沒有完全相同的幀(儘管我將它們設置爲等於之前),但它們非常接近,並且唯一可能與rounding發生差異的地方是origin.y值,但應用程序運行時的差異是i n origin.x值。
我已經浪費了這麼多時間試圖弄清楚這一點,這樣有利於將不勝感激
啊哈!界限確實不同。謝謝你,這是非常有幫助的。 –