Tea*_*App 20 objective-c alignment uiview ipad ios
我正在申请iPad,只支持横向模式.我有一个UIView,后来我动态添加UIImageView为子视图.但是我的目标是在图像的中心添加图像UIView.所以我使用了这段代码,
[imageView setCenter:dynamicMainView.center];
Run Code Online (Sandbox Code Playgroud)
其中UIImageViewimageView 是(明显:))和dynamicMainView UIView,但最终的结果讲述似乎在中心,
视觉表现

在UIView中添加UIImageView的完整方法代码是,
-(void) addImageIntoMainDynamicView:(UIImage *) image
{
[self clearImageFromMainDynamicView];//Always clear Dynamic main view before adding new views
imageView = [[UIImageView alloc] initWithImage:image];
if(imageView.bounds.size.width > dynamicMainView.bounds.size.width || imageView.bounds.size.height > dynamicMainView.bounds.size.height)
{
[imageView setFrame:[dynamicMainView bounds]];
}
[imageView setCenter:dynamicMainView.center];
NSLog(@"Image : X = %f and Y = %f", imageView.center.x,imageView.center.y );
NSLog(@"UIView : X = %f and Y = %f", dynamicMainView.center.x,dynamicMainView.center.y );
[dynamicMainView addSubview:imageView];
[imageView release];
}
Run Code Online (Sandbox Code Playgroud)
以上日志值是,
2011-12-21 21:07:11.850 Map1TestApp[94645:11603] Image : X = 512.000000 and Y = 371.500000
2011-12-21 21:07:11.853 Map1TestApp[94645:11603] UIView : X = 512.000000 and Y = 371.500000
Run Code Online (Sandbox Code Playgroud)
关于它为什么不在中心添加的任何线索?难道我做错了什么?
[imageView setCenter:CGPointMake(CGRectGetMidX([dynamicMainView bounds]), CGRectGetMidY([dynamicMainView bounds]))];
Run Code Online (Sandbox Code Playgroud)
jrt*_*ton 20
该center视图的表示在它的上海华的坐标系.因此,您将图像视图置于错误的坐标系中.(动态视图的超级视图而不是动态视图)
要在视图B中居中视图A,中心视点A必须是bounds视图B 的矩形的中心.您可以使用(从内存!)CGRectGetMidX和CGRectGetMidY.
| 归档时间: |
|
| 查看次数: |
12232 次 |
| 最近记录: |