【发布时间】:2014-03-15 13:28:24
【问题描述】:
我知道这里有很多类似的问题,我检查了著名的问题,然后掌握了 Bounds 和 Frame 之间的区别。
现在我遇到了一些与它们相关的问题。我和他们一起玩,但它并没有像我预期的那样显示。
这里我不明白的是:
- 为什么即使我将 UIImageView 设置在左下角,Y 的框架原点也是顶部下方 44.000000? 因为界限应该是 “UIView 的边界是矩形,表示为相对于其自身坐标系 (0,0) 的位置 (x,y) 和大小 (width,height)。” (Cocoa: What's the difference between the frame and the bounds?) 我认为框架也应该从这里的左角开始。
#import "ViewController.h"
@interface ViewController ()
//@property (weak, nonatomic) IBOutlet UIImageView *image;
@property (weak, nonatomic) IBOutlet UIImageView *image2;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//UIImage *imageView = [UIImage imageNamed:@"stanford"];
// self.image.alpha = 1;
// self.image.contentMode = 1;
// self.image.image = imageView;
// [self.image setAlpha:0.1];
// [self.image setContentMode:UIViewContentModeCenter];
// [self.image setImage:imageView];
NSURL *url = [[NSURL alloc] initWithString:@"http://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/Pitbull_2%2C_2012.jpg/472px-Pitbull_2%2C_2012.jpg"];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *imageData = [UIImage imageWithData:data];
[self.image2 setBounds:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
[self.image2 setImage:imageData];
NSLog(@"frame.orign.x:%f,frame.origin.y:%f",self.image2.frame.origin.x,self.image2.frame.origin.y);
}
【问题讨论】:
-
我将 iPhone 视网膜设置为 4inch ,它可以工作,但我仍然不知道为什么 setBounds 方法不能正常工作。
标签: ios objective-c uiimageview frame bounds