0

我的 nav_bar 应该在右侧显示登录用户的图片,单击它应该打开一个配置文件屏幕。

它适用于尚未上传个人资料图片的新用户,因为它使用本地占位符图片,但是当Auth.current_user["image"]包含指向用户的远程个人资料图片的 URL 时,它不再有效。

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),

点击/点击现在可以工作,但没有显示图像。

任何帮助,将不胜感激。

4

1 回答 1

0

当为 nav_bar 中的按钮使用自定义 UIImageView 时,该按钮将失去点击功能。您可以通过添加以下行来取回它:

image_view.setUserInteractionEnabled(true)
image_view.addGestureRecognizer(UITapGestureRecognizer.alloc.initWithTarget(self, action: :open_profile))
于 2016-09-12T18:18:07.090 回答