我正在使用CGRect创建一个图像框架.我想将创建的矩形居中.
我已经在这里以及Apple文档中找到了最佳方法,并找到了获得中心坐标的CGRectGetMidY和CGRectGetMidX.
当我尝试将此实现到我自己的代码中时,我遇到了问题.我在UIIMageView类型的对象上找不到属性大小错误
#import "MyViewController.h" @interface MyViewController () @end @implementation MyViewController @synthesize mySignatureImage; @synthesize lastContactPoint1,lastContactPoint2,currentPoint; @synthesize imageFrame; @synthesize fingerMoved; @synthesize navbarHeight; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor lightGrayColor]; CGRect mySignatureImageFrame = CGRectMake( CGRectGetMidX(self.view.frame) - (mySignatureImage.size.width/ 2.0),CGRectGetMidY(self.view.frame) - (mySignatureImage.size.height / 2.0),image.size.width,image.size.height); #import <UIKit/UIKit.h> @interface MyViewController : UIViewController <UIAlertViewDelegate> @property (nonatomic,strong) UIImageView *mySignatureImage; @property (nonatomic,assign) CGPoint lastContactPoint1,currentPoint; @property (nonatomic,assign) CGRect imageFrame; @property (nonatomic,assign) BOOL fingerMoved; @property (nonatomic,assign) float navbarHeight; @property (strong,nonatomic) NSManagedObjectContext *managedObjectContext;
解决方法
假设图像是UIImage类型,那么:
CGRect imageFrame = CGRectMake( CGRectGetMidX(self.view.frame) - (image.size.width / 2.0),CGRectGetMidY(self.view.frame) - (image.size.height / 2.0),image.size.height);
假设imageView的类型为UIImageView,则:
CGRect imageFrame = CGRectMake( CGRectGetMidX(self.view.frame) - CGRectGetMidX(imageView.frame),CGRectGetMidY(self.view.frame) - CGRectGetMidY(imageView.frame),CGRectGetWidth(imageView.frame),CGRectGetHeight(imageView.frame));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。