我使用兩個塊動態地在子視圖上繪製一些按鈕。一個計算縱向模式的幀,另一個計算橫向。它運作良好,但是當我旋轉時,它會覆蓋舊的。因此,我的一些按鈕來了兩次。這是我的代碼檢測oriantation:如何在繪製前清除子視圖的內容
//i have defined blocks in viewDidLoad: and everything is ok till here
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if(interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
dispatch_async(dispatch_get_main_queue(), PortraitBlock);
}
else
{
dispatch_async(dispatch_get_main_queue(), LandscapeBlock);
}
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight ||
interfaceOrientation == UIInterfaceOrientationPortrait ||
interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}
現在,我該如何清理視圖我添加按鈕?
注:我補充一個UIView對象上的按鈕,而該對象也就是一個UIScrollView對象
@illis如果按鈕被添加了兩次,然後給按鈕添加標籤並檢查按鈕是否存在然後dnt添加它 – Leena 2012-03-30 13:45:45
每次旋轉設備時都不需要重新繪製按鈕。只要將它們移動到合適的位置並在需要時改變外觀。 – SVGreg 2012-03-30 13:55:30
@SVGreg我該怎麼做,? – ilhnctn 2012-03-30 14:03:32