オリエンテーションを変更すると、テキストビューのサイズが適切に調整されず、境界が右端または左端または下端または上端にジャンプします。ここに私のコードがあります。私のフルテキストUIViewのサイズを変更するにはどうすればよいですか向きを変更するときにUIViewのサイズを正しく変更するにはどうすればよいですか?
- (void)viewDidLoad
{ frameHor=CGRectMake(0,10,275,306);
frameVer=CGRectMake(0, 51, 320, 351);
..
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
if(toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){
//self.view = portraitView;
[self changeTheViewToPortrait:YES andDuration:duration];
}
else if(toInterfaceOrientation == UIInterfaceOrientationLandscapeRight || toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft){
//self.view = landscapeView;
[self changeTheViewToPortrait:NO andDuration:duration];
}
}
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
- (void) changeTheViewToPortrait:(BOOL)portrait andDuration:(NSTimeInterval)duration {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:duration];
if(portrait){
self.titleLabel.hidden=NO;
self.backButton.hidden=NO;
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"det.png"]]];
self.fullText.frame=CGRectMake(frameVer.origin.x, frameVer.origin.y, frameVer.size.width, frameVer.size.height);
}
else{
self.titleLabel.hidden=YES;
self.backButton.hidden=YES;
self.fullText.frame=CGRectMake(frameHor.origin.x, frameHor.origin.y, frameHor.size.width, frameHor.size.height);
[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"T_iphoneauto.png"]]];
}
[UIView commitAnimations];
}
はい、おかげで、私はautoresizingMaskトリックを理解するが、景観に私はいくつかのビューを隠し、最大のTextView持ち上げる必要がある場合...私はもっと良いものが見つからない場合は、私がAutoResizingMaskで停止します –
別のビューモードを使用しているときに、そのプロパティを変更したり、フレームを変更したりすることができます。 – Nekto