我的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),
点击/点击现在可以使用,但不会显示图像。
任何帮助都将不胜感激。
答案 0 :(得分:0)
在nav_bar中为按钮使用自定义UIImageView时,该按钮会失去单击功能。您可以通过添加以下行来获取它:
image_view.setUserInteractionEnabled(true)
image_view.addGestureRecognizer(UITapGestureRecognizer.alloc.initWithTarget(self, action: :open_profile))