Я знаю, что здесь много похожих вопросов, и я проверил известный, а затем понял разницу между Bounds и Frame.
Теперь у меня есть проблема, связанная с ними. Я поигрался с ними, но все оказалось не так, как я ожидал.
Вот чего я не понимаю:
- Почему начало кадра Y на 44,000000 ниже верхнего, даже если я установил UIImageView в левом углу? Потому что границы должны быть такими: «Границами UIView является прямоугольник, выраженный как местоположение (x, y) и размер (ширина, высота) относительно его собственной системы координат (0,0)». (Какао: в чем разница между рамка и границы?) Я подумал, что рамка тоже должна начинаться здесь с левого угла.
#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);
}