我正在尝试更改xib文件中的UIImageView
,但它似乎无效。我的xib文件带有UIImageView
。我将UIImageView
链接到我的xib文件。在我的主ViewController
中,我调用一个函数来更改xib文件中的UIImageView
。我的函数是更改xib文件中的图像
UIView *view = [[[NSBundle bundleForClass:[self class]]loadNibNamed:@"View" owner:self options:nil] firstObject];
[self addSubview:view];
view.frame = self.bounds;
_imageTest.image = [UIImage imageNamed:@"0.png"];
我做错了什么。我搜索堆栈溢出但似乎我找不到我想要的东西。
答案 0 :(得分:0)
我不确定您是否尝试使用其他UIImageView
更改UI<control
或控件本身的图像。
要更改UIImage
,您只需在viewController类中添加一个插座,然后将图像设置为它。有点像:
[self.yourImageView setImage:[UIImage imageNamed:@"0.png"]]; //and make sure the 0.png file exist in the application bundle.
如果您对更改控件本身感兴趣,那么最好不要创建UIImage。在运行时创建UIImage和另一个控件,并将控件添加到View。
答案 1 :(得分:0)
尝试加载你的xib视图:
public class UnityPlayer extends com.unity3d.player.UnityPlayer {
private final ConcurrentLinkedQueue<Runnable> jobs = new ConcurrentLinkedQueue<Runnable>();
public UnityPlayer(ContextWrapper contextWrapper) {
super(contextWrapper);
}
public void addJob(final Camera camera, final int cam, final byte[] data, final int width, final int height) { // execute on opengl thread using jobs
jobs.add(new Runnable() {
@Override
public void run() {
videoFrameCallback(cam, data, width, height);
camera.addCallbackBuffer(data);
}
});
}
@Override
protected int[] initCamera(int var1, int var2, int var3, int var4) {
return new int[]{640, 480}; // return width and height of camera
}
// private final native void nativeVideoFrameCallback(int var1, byte[] var2, int var3, int var4); ==> camera id (0 back, 1 front), imagedata, width, height
private void videoFrameCallback(int var1, byte[] var2, int var3, int var4) {
try {
Method m = com.unity3d.player.UnityPlayer.class.getDeclaredMethod("nativeVideoFrameCallback", Integer.TYPE, byte[].class, Integer.TYPE, Integer.TYPE);
m.setAccessible(true);
m.invoke(this, var1, var2, var3, var4);
} catch (Exception e) {
Log.d(Constants.TAG, e.toString());
}
}
@Override
protected void executeGLThreadJobs() {
super.executeGLThreadJobs();
Runnable job = jobs.poll();
if (job != null) {
job.run();
}
}
}
并在设置图像的位置放置断点,确保_imageTest不是nil。
答案 2 :(得分:0)
没关系。我已经可以使它工作了。它看起来像我的UIImageView问题。我删除后添加回来的所有工作。感谢大家的帮助。