Tôi đang phát triển một chương trình mà tôi đang thêm lập trình NSImageView vào lớp NSView tùy chỉnh. Trong khi tạo chế độ xem hình ảnh, tôi đang chuyển khung của vùng chứa chính.Cách căn chỉnh chế độ xem phụ với trung tâm của một phụ huynh NSView
-(NSImageView *)loadNSImage:(NSString *)imageName frame:(NSRect)frame{
imageName = [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"];
NSImage *image = [[NSImage alloc] initWithContentsOfFile:imageName];
NSImageView *imageView = [[NSImageView alloc]initWithFrame:frame];
[imageView setImage:image];
[imageView setImageScaling:NSImageScaleProportionallyUpOrDown];
[imageView setAutoresizingMask:NSViewHeightSizable | NSViewWidthSizable | NSViewMaxXMargin | NSViewMaxYMargin | NSViewMinXMargin | NSViewMinYMargin];
[imageView setImageAlignment:NSImageAlignCenter];
[image release];
return imageView;
}
Sau đó, tôi đang sử dụng phương pháp addSubView
để thêm mục này vào Chế độ xem tùy chỉnh. Vấn đề là hình ảnh dính vào phía dưới bên trái của khung nhìn cha mẹ. Làm cách nào để đặt hình ảnh này ở giữa chế độ xem chính?
Tôi đã thử thêm một bù đắp cho gốc khung, nhưng điều đó không thực sự hoạt động khi cửa sổ được thay đổi kích thước hoặc nếu hình ảnh có kích thước khác được tải.
Mọi trợ giúp sẽ được đánh giá cao.
Bạn cũng có thể muốn làm tròn tất cả các kết quả phân chia để số nguyên, như thể đó là kỳ quặc và bạn kết thúc với .5, nó sẽ mờ với vị trí subpixel. – Jaanus
Vâng, điều này chắc chắn đúng. – d11wtq
Câu trả lời hay, cảm ơn –