Tôi có một số UIImageView
hiển thị hình ảnh lớn hơn. Nó dường như là trung tâm, nhưng tôi muốn di chuyển hình ảnh đó trong đó UIImageView
. Tôi đã xem mẫu MoveMe từ Apple, nhưng tôi không thể tìm ra cách họ làm điều đó. Dường như họ thậm chí không có UIImageView cho điều đó. Ý tưởng nào?Có thể đặt vị trí của hình ảnh của UIImageView không?
Trả lời
Câu trả lời gốc đã được thay thế bởi CoreAnimation trong iOS4.
Vì vậy, như Thumb vàng nói: bạn có thể làm điều này bằng cách truy cập CALayer của UIView. Cụ thể nội dung của nóRect:
Từ Apple Docs: Hình chữ nhật, trong không gian tọa độ đơn vị, xác định phần nội dung của lớp sẽ được sử dụng. Có thể hoạt hình.
Nó không giống như mẫu MoveMe làm bất cứ điều gì giống như những gì bạn muốn. PlacardView trong đó có cùng kích thước với hình ảnh được sử dụng. Thay đổi kích thước duy nhất được thực hiện cho nó là một phép biến đổi khung nhìn, không ảnh hưởng đến chế độ xem của hình ảnh. Khi tôi hiểu nó, bạn có một bức tranh lớn và muốn hiển thị một khung nhìn nhỏ vào đó. Không có một phương pháp lớp đơn giản để làm điều này, nhưng có một chức năng mà bạn có thể sử dụng để có được kết quả mong muốn: CGImageCreateWithImageInRect (CGImageRef, CGRect) sẽ giúp bạn.
Dưới đây là một ví dụ ngắn sử dụng nó:
CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect);
[UIImageView setImage:[UIImage imageWithCGImage:imageRef]];
CGImageRelease(imageRef);
Bạn có muốn hiển thị hình ảnh để nó được chứa trong các UIImageView? Trong trường hợp đó chỉ cần thay đổi contectMode của UIImageView thành UIViewContentModeScaleToFill (nếu tỉ lệ khung hình không quan trọng) hoặc UIViewContentModeScaleAspectFit (nếu bạn muốn duy trì tỷ lệ co)
Trong IB, điều này có thể thực hiện bằng cách đặt Chế độ trong Trình kiểm tra.
Trong mã, nó có thể được thực hiện như
yourImageView.contentMode = UIViewContentModeScaleToFill;
Trong trường hợp bạn muốn hiển thị hình ảnh lớn như là bên trong một UIImageView, cách tốt nhất và dễ nhất để làm được điều này sẽ có ảnh xem bên trong UIScrollView. Bằng cách đó bạn sẽ có thể phóng to và thu nhỏ hình ảnh và cũng di chuyển nó xung quanh.
Hy vọng điều đó sẽ hữu ích.
Cảm ơn rất nhiều. Tôi đã tìm thấy một giải pháp khá đơn giản giống như sau:
CGRect frameRect = myImage.frame;
CGPoint rectPoint = frameRect.origin;
CGFloat newXPos = rectPoint.x - 0.5f;
myImage.frame = CGRectMake(newXPos, 0.0f, myImage.frame.size.width, myImage.frame.size.height);
Tôi chỉ di chuyển khung xung quanh. Nó xảy ra rằng các phần của khung đó đi ra khỏi cổng xem của iPhone, nhưng tôi hy vọng rằng điều này sẽ không quan trọng nhiều. Có một mặt nạ trên nó, vì vậy nó không có vẻ lạ. Người dùng không hoàn thành cách thực hiện.
Bạn có thể thực hiện như nhau theo:
UIImageView *imgVw=[[UIImageView alloc]initwithFrame:CGRectMake(x,y,height,width)];
imgVw.image=[UIImage imageNamed:@""];
[self.view addSubView imgVw];
imgVw.contentMode = UIViewContentModeScaleToFill;
gì bạn cần là một cái gì đó tương tự (ví dụcho thấy 30% 30% của góc trên cùng bên trái của ảnh gốc):
imageView.layer.contentsRect = CGRectMake(0.0, 0.0, 0.3, 0.3);
Mô tả "contentsRect": Các hình chữ nhật, trong các đơn vị phối hợp không gian, xác định phần nội dung của lớp đó nên được sử dụng.
Tại sao lại là downvote? Điều này hoạt động hoàn hảo nếu bạn đặt 'contentMode' của ImageView thành' UIViewContentModeScaleAspectFill'. Hãy chắc chắn cũng bật 'clipToBounds'. –
- 1. thay đổi vị trí của UIImageView
- 2. Không thể đặt vị trí của contextmenustrip?
- 3. Đặt thuộc tính hình ảnh của UIImageView gây lag lớn
- 4. Đặt vị trí hình ảnh bằng iTextSharp
- 5. Đặt vị trí của MessageBox?
- 6. So sánh vị trí UITouch với hình chữ nhật UIImageView
- 7. Đặt vị trí của div có thể kéo
- 8. Hình ảnh không vừa với khung của UIImageView
- 9. vim vị trí hình ảnh
- 10. Cách đặt vị trí của hộp thoại?
- 11. hình ảnh Responsive vị trí trên hình ảnh
- 12. tạo UIImageView với một phần của tệp hình ảnh
- 13. Vị trí ảnh nền
- 14. Tìm vị trí hình ảnh trên Excel
- 15. Đang tải hình ảnh vào localStorage và đặt hình ảnh src thành vị trí đó
- 16. Tôi có thể đặt lại vị trí của con trỏ về đầu không?
- 17. Làm thế nào để có được vị trí hiện tại của một hình ảnh trong jQuery?
- 18. Nhận biết vị trí của quả bóng màu đỏ trong hình ảnh có JavaScript?
- 19. Tìm hiểu vị trí của các vị trí khác nhau
- 20. Vị trí của Microsoft.Sharepoint.dll
- 21. Uiimageview bên trong uiscrollview vị trí không phải là trung tâm
- 22. Vị trí của symchk
- 23. Tính vị trí và hướng của máy ảnh trong opencv
- 24. Xoay hình ảnh trong UIImageView
- 25. Nhận vị trí hình ảnh - camera PhoneGap
- 26. Đặt vị trí chuột không có System.Windows.Forms
- 27. Làm thế nào để thay đổi vị trí của hình ảnh màn hình giật gân?
- 28. Tìm vị trí của hình chữ nhật trong một hình ảnh với OpenCV
- 29. Vị trí điều khiển của hình nền/mẫu
- 30. Kéo hình ảnh để điều chỉnh vị trí như trong hình thu nhỏ của hình ảnh facebook
Sai. Xem câu trả lời của @ GoldThumb. –
Ngay tại thời điểm đăng bài (2009!) Tôi đã cập nhật câu trả lời để trỏ tới CALayer –
Tuyệt vời! Cảm ơn vì sự đúng đắn của bạn. –