如何实现代码以获得显示的UIImageView的实时更新?

时间:2011-03-16 19:01:40

标签: iphone xcode ios ipad uiimageview

我正在尝试弄清楚如何拍摄屏幕截图并将其发送到iOS设备(在这种情况下是iPad)并在屏幕上显示图像,在清除旧图像时发送每个新图像时进行更新一个来自记忆。

我刚开始使用基础知识,所以我试图让模拟器从桌面加载屏幕截图并将其显示在屏幕上,然后在我拍摄新屏幕截图时更改图像,并删除旧版本一,所以我可以重新命名新的屏幕截图以包含相同的名称或简单地覆盖旧的屏幕截图(因此引用仍应在编程代码中正确指出)。

我尝试使用通过以下方式重新加载我的UIImageView的按钮:

- (IBAction)buttonPressed:(id)sender
{
    [UIImageView setImage:ScreenCapture];
}

其中ScreenCapture是UIImageView的名称,希望它会重新加载现有的image.png文件,但单击该按钮只会退出模拟器中的该程序并返回模拟器的主屏幕。

尝试通过UIImageView完成此操作时,我是否使用了错误的对象?他们是现有的程序/教程吗?

我会尝试对iPhone进行VNC逆向工程,但版权问题和高级编程功能都超出了我的范围。

一旦我可以通过Xcode获得某些功能,我也计划通过MonoTouch尝试实现相同的功能,以查看哪种语言更易于使用且更适合初学者。

谢谢你的帮助, 〜克里斯

头:

#import <UIKit/UIKit.h>

@interface Screen_Capture_3ViewController : UIViewController {

    IBOutlet UIImageView *ScreenCapture;
    IBOutlet UIBarButtonItem *Update;
}

@property (nonatomic, retain) IBOutlet UIImageView *ScreenCapture;
@property (nonatomic, retain) IBOutlet UIBarButtonItem *Update;

- (IBAction)buttonPressed:(id)sender;

@end

的.m:

#import "Screen_Capture_3ViewController.h"

@implementation Screen_Capture_3ViewController

@synthesize ScreenCapture;
@synthesize Update;

- (IBAction)buttonPressed:(id)sender
{
    [UIImageView setImage:ScreenCapture];
}

选择“基于视图的应用程序”时,其他所有内容都保持默认状态,并且我将ScreenCapture连接到“界面”构建器中的UIImageView,并将“更新”和“按钮”连接到“界面构建器”中的UIBarButtonItem。

1 个答案:

答案 0 :(得分:0)

setImage是一个实例方法,而不是类方法,所以你不能直接将它发送到UIImageView(也不是真正意义上的)。

保留当前代码的标题(但只有属性应标记为IBOutlet):

@interface Screen_Capture_3ViewController : UIViewController {

UIImageView *ScreenCapture;
UIBarButtonItem *Update;

}

@property (nonatomic, retain) IBOutlet UIImageView *ScreenCapture;
@property (nonatomic, retain) IBOutlet UIBarButtonItem *Update;

- (IBAction)buttonPressed:(id)sender;

@end

在您的实现中,您的事件处理程序应该是这样的:

- (IBAction)buttonPressed:(id)sender {
    UIImage* newImage = [UIImage imageWithContentsOfFile:@"pathToImage.png"];
    [ScreenCapture setImage:newImage];
}