iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – UIView.center = UIImageView.center,但图像视图似乎并不在景观中心大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_197_2@
我正在应用iPad,只支持横向模式。我有UIView,之后我动态地添加UIImageView作为子视图。但是我的目标是在UIView的中心添加图像。所以我用这个代码

[imageView setCenter:dynamicMainView.center];

其中imageView是UIImageView(显然:))和dynamicMainView是UIView,但最终结果docent似乎在中心,

视觉表示

在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];
}

以上log值是,

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

任何关于为什么不添加到中心的线索?我做错了吗?

对于未来的观察者,ANWSER WAS:

[imageView setCenter:CGPointMake(CGRectGetMidX([dynamicMainView bounds]),CGRectGetMidY([dynamicMainView bounds]))];
@H_197_2@

解决方法

视图的中心是在superview的坐标系统中表达出来的。所以你将图像视图置于错误的坐标系中。 (动态视图的超视图而不是动态视图)

要将视图A中的视图A置于视图B中,中心点A必须是视图B的边界矩形的中心。您可以使用(从内存!)CGRectGetMidX和CGRectGetMidY获取此视图。

@H_197_2@ @H_197_2@
@H_197_2@
@H_197_2@

大佬总结

以上是大佬教程为你收集整理的objective-c – UIView.center = UIImageView.center,但图像视图似乎并不在景观中心全部内容,希望文章能够帮你解决objective-c – UIView.center = UIImageView.center,但图像视图似乎并不在景观中心所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。