无法将远程图像添加到ProMotion中的nav_bar按钮

时间:2016-07-22 14:53:45

标签: rubymotion rubymotion-promotion

我的nav_bar应该在右边显示logged_in用户的图片并点击它应该打开一个个人资料屏幕。

对于尚未上传个人资料图片的新用户,它可以正常工作,因为它使用的是本地占位符图片,但当Auth.current_user["image"]包含指向用户的REMOTE个人资料图片的网址时,它不再有效。

def on_load

image_view = UIImageView.alloc.initWithFrame(CGRectMake(0, 0, 50, 50))
image_view.contentMode = UIViewContentModeScaleAspectFit
image_view.setImageWithURL(Auth.current_user["image"])

set_nav_bar_button :right,
  image: Auth.current_user["image"].nil? ? image.resource("icon_user_50x50.png") : image_view,
  action: :open_profile

end

当存在远程图像时,此代码无法正常工作。它显示图像,但点击/点击时没有任何反应。

如果我更换这一行:

image: Auth.current_user["image"].nil? ? image.resource("icon_user_50x50.png") : image_view,
for this one:

image: Auth.current_user["image"].nil? ? image.resource("icon_user_50x50.png") : image.from_view(image_view),

点击/点击现在可以使用,但不会显示图像。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

在nav_bar中为按钮使用自定义UIImageView时,该按钮会失去单击功能。您可以通过添加以下行来获取它:

image_view.setUserInteractionEnabled(true)
image_view.addGestureRecognizer(UITapGestureRecognizer.alloc.initWithTarget(self, action: :open_profile))