Tôi có một số IBOutlet
đến số UIImageView
, nhưng khi tôi xem tài liệu UIImageView
, tôi không thể thấy bất kỳ gợi ý nào về cách thay đổi theo chương trình. Tôi có phải tìm một đối tượng UIImage
từ đó UIImageView
không?Làm cách nào để thay đổi hình ảnh được hiển thị trong UIImageView theo chương trình?
Trả lời
Nếu bạn đã có IBOutlet thành UIImageView, thì tất cả những gì bạn phải làm là lấy một hình ảnh và gọi setImage trên bộ thu (UIImageView). Hai ví dụ về chụp một hình ảnh dưới đây. Một từ Web và một bạn thêm vào thư mục Tài nguyên của bạn trong Xcode.
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://farm4.static.flickr.com/3092/2915896504_a88b69c9de.jpg"]]];
hoặc
UIImage *image = [UIImage imageNamed: @"cell.png"];
Một khi bạn có một hình ảnh thì bạn có thể thiết lập UIImageView:
[imageView setImage:image];
Dòng trên giả định IMAGExem là IBOutlet bạn.
Vậy đó! Nếu bạn muốn có được ưa thích, bạn có thể thêm hình ảnh vào một UIView và sau đó thêm quá trình chuyển đổi.
P.S. Quản lý bộ nhớ không được bao gồm.
Tiếp theo lời khuyên của Jordan (mà nên làm việc trên thực tế), hãy cố gắng thiết lập các UIImageView để được nhìn thấy:
[imageView setHidden: NO];
và cũng - đừng quên để đính kèm nó vào UIView chính:
[mainView addSubview: imageView];
và mang đến phía trước:
[mainView bringSubviewToFront: imageView];
Hope kết hợp tất cả các bước sau sẽ giúp bạn SOLV e bí ẩn.
này làm việc cho tôi
[ImageViewName setImage:[UIImage imageNamed: @"ImageName.png"]];
Hãy chắc chắn rằng ImageView được khai báo đúng trong file .h và được liên kết với các phần tử IB.
Vì mục đích của những người có thể googling điều này để cố gắng giải quyết vấn đề của họ, hãy nhớ khai báo đúng thuộc tính trong tệp tiêu đề của bạn và tổng hợp UIImageView trong tệp triển khai của bạn ... Sẽ khó thiết lập hình ảnh lập trình mà không có phương thức getter và setter.
#import <UIKit/UIKit.h>
@interface YOURCONTROLLERNAME : UIViewController {
IBOutlet UIImageView *imageToDisplay;
}
@property (nonatomic, retain) IBOutlet UIImageView *imageToDisplay;
@end
và sau đó trong .m của bạn:
@implementation YOURCONTROLLERNAME
@synthesize imageToDisplay;
//etc, rest of code goes here
Từ đó bạn nên sử dụng tốt sử dụng giống như sau để thiết lập hình ảnh của bạn.
[YOURCONTROLLER.imageToDisplay setImage:[UIImage imageNamed:value]];
Cảm ơn! Là mới đối với xcode và iphones nói chung tôi đã thiếu YOURCONTROLLER trước khi imageToDisplay. – Opy
Lưu ý rằng tệp NIB không dây lên tất cả IBOutlets cho đến khi xem được thêm vào cảnh. Nếu bạn kết nối mọi thứ theo cách thủ công (bạn có thể thực hiện nếu mọi thứ nằm trong các NIB riêng biệt), điều quan trọng cần lưu ý.
Vì vậy, nếu điều khiển xem thử nghiệm của tôi có một "IMAGExem" dây bởi một ngòi bút, điều này có lẽ sẽ không làm việc:
testCardViewController.imageView.image = [UIImage imageNamed:@"EmptyCard.png"];
[self.view addSubview:testCardViewController.view];
Nhưng điều này sẽ:
[self.view addSubview:testCardViewController.view];
testCardViewController.imageView.image = [UIImage imageNamed:@"EmptyCard.png"];
Vấn đề của tôi là tôi đã cố gắng thay đổi hình ảnh trong một chủ đề khác. Tôi đã làm như thế này:
- (void)changeImage {
backgroundImage.image = [UIImage imageNamed:@"img.png"];
}
Gọi với:
[self performSelectorOnMainThread : @selector(changeImage) withObject:nil waitUntilDone:NO];
Yup, bit này tôi ... một lần nữa ... Cũng có thể sử dụng 'dispatch_async (dispatch_get_main_queue(),^{backgroundImage.image = [UIImage imageNamed: @" img.png "];})' – Dex
UIColor * background = [[UIColor alloc] initWithPatternImage:
[UIImage imageNamed:@"anImage.png"]];
self.view.backgroundColor = background;
[background release];
Điều này có giống với hình ảnh hiện tại của nền UIView hoặc thuộc tính hình ảnh của UIImageView? – voromax
Nếu bạn muốn thiết lập hình ảnh để UIImageView
lập trình sau đó Dont Forget thêm UIImageView
như subview cho View chính.
Và cũng đừng quên đặt Khung hình ảnh.
đây là mã
UIImageView *myImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
myImage.image = [UIImage imageNamed:@"myImage.png"];
[self.view addSubview:myImage];
imageView.image = [UIImage imageNamed:@"myImage.png"];
Câu hỏi này đã có rất nhiều câu trả lời. Thật không may không làm việc cho tôi. Vì vậy, để hoàn thành, tôi thêm những gì đã giúp tôi:
Tôi có nhiều hình ảnh có cùng tên - vì vậy tôi đã đặt chúng trong các thư mục con. Và tôi đã có đường dẫn đầy đủ đến tệp hình ảnh mà tôi muốn hiển thị. Với đường dẫn đầy đủ imageNamed:
(như được sử dụng trong tất cả các giải pháp ở trên) không hoạt động và là phương pháp sai.
Thay vì bây giờ tôi sử dụng imageWithContentsOfFile:
như vậy:
self.myUIImage.image = [UIImage imageWithContentsOfFile:_currentWord.imageFileName];
Không biết, nếu có ai đọc mà đến nay?
Nếu vậy và điều này đã giúp bạn: hãy bỏ phiếu. ;-)
Ví dụ trong Swift:
import UIKit
class ViewController: UIViewController {
@IBOutlet var myUIImageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func myAction(sender: UIButton) {
let newImg: UIImage? = UIImage(named: "profile-picture-name")
self.myUIImageView.image = newImg
}
@IBAction func myAction2(sender: UIButton) {
self.myUIImageView.image = nil
self.myUIImageView.image = UIImage(data: NSData(contentsOfURL: NSURL(string: "http://url/image.png")!)!)
}
}
myUIImageview.image = UIImage (named:"myImage.png")
Được gắn cờ là Chất lượng Rất Thấp. Hãy cải thiện nó. – Drew
Bạn có thể làm điều đó bằng cách mở rộng trên đó. –
Đừng quên gọi sizeToFit()
sau khi bạn thay đổi hình ảnh nếu bạn sau đó sử dụng kích thước của UIImageView thiết UIScrollView contentSize và/hoặc tính toán quy mô thu phóng
let image = UIImage(named: "testImage")
imageView.image = image
imageView.sizeToFit()
scrollView.contentSize = imageView.bounds.size
Để đặt hình ảnh trên hình ảnh của bạnXem sử dụng bên dưới dòng mã,
self.imgObj.image=[UIImage imageNamed:@"yourImage.png"];
sao chép Hình ảnh trong dự án của bạn và sau đó sử dụng mã trên –
- 1. Cách hiển thị hình ảnh trên UIView theo chương trình?
- 2. Thay đổi hình ảnh theo chương trình?
- 3. Lập trình thay đổi UIImageView hiển thị image1 thành hình ảnh2
- 4. Làm thế nào để hiển thị UITableView theo chương trình?
- 5. Làm cách nào để thay đổi trình bảo vệ màn hình theo chương trình?
- 6. Cách thêm hình ảnh để xem theo chương trình?
- 7. Cách đổi kích thước hình ảnh theo chương trình trong mục tiêu-c trong iphone
- 8. Làm cách nào để QWebKit hiển thị hình ảnh?
- 9. Datatables jQuery, thay đổi chương trình số hàng hiển thị
- 10. Cách đặt hình ảnh làm hình nền theo chương trình?
- 11. Cách lấy khung hình hiển thị từ UIImageView?
- 12. UIImageView: Thay đổi kích thước thành kích thước hình ảnh?
- 13. Thay đổi hình ảnh của ImageView theo lập trình Android
- 14. Thay đổi kích thước hình ảnh theo chương trình trong C#
- 15. Làm cách nào để ẩn/hiển thị UIimageview?
- 16. Làm thế nào để hiển thị hiệu quả nhiều Hình ảnh? (IPhone lập trình)
- 17. Hiển thị các điều khiển theo chương trình trong MPMoviePlayerController
- 18. Làm cách nào để thay đổi hình ảnh của PictureBox?
- 19. Làm cách nào để hiển thị hoặc ẩn biểu tượng phong bì Outlook theo chương trình?
- 20. Làm cách nào để hiển thị JPEG tiến bộ trong UIImageView trong khi đang được tải xuống?
- 21. Làm cách nào để chuyển đổi tab theo chương trình?
- 22. Beamer: Cách hiển thị hình ảnh theo từng bước hình ảnh
- 23. Làm cách nào để chụp ảnh màn hình theo chương trình?
- 24. thay đổi hình ảnh trênCấu hình được thay đổi
- 25. Hình ảnh không hiển thị trong UIImageView trong Interface Builder/iPhone
- 26. Làm cách nào để đặt tiêu đề theo chương trình
- 27. Làm thế nào để hiển thị hình ảnh trong Word được tạo từ HTML?
- 28. Làm thế nào để hiển thị hình ảnh trong RSS?
- 29. cách cắt hình ảnh thành từng phần theo chương trình
- 30. Làm cách nào để thay đổi vị trí tệp theo chương trình?
cảm ơn, nhưng nó không hoạt động: ( tôi đã xóa hình ảnh trong trình tạo giao diện để UIImageView trống. sau đó tôi thực hiện điều này vào phương thức viewDidLoad. Nhưng không có gì xảy ra. Tên hình ảnh được chỉ định đúng 100%. Tôi cũng đã gán nó với setImage vào ổ cắm. Bất cứ điều gì khác tôi có thể thử? – Thanks
Có thể bạn chưa kết nối IBOutlet với tham chiếu ViewController trong IB. Kiểm tra hình ảnh nằm trong thư mục Tài nguyên. – Jordan
Tôi không chắc chắn các quy tắc/tác động của necro trên SO, nhưng tôi biết điều này đã giúp tôi giải quyết vấn đề của mình. Tôi đang sử dụng iOS v5.1, xcode 4.3.2 – Jake