无法将远程图像添加到 ProMotion 中的 nav_bar 按钮
Unable to add remote image to nav_bar button in ProMotion
我的 nav_bar 应该会在右边显示 logged_in 用户的照片,点击它应该会打开个人资料屏幕。
它适用于尚未上传个人资料图片的新用户,因为它使用的是本地占位符图片,但是当 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),
点击/点击现在可以使用,但不显示图像。
如有任何帮助,我们将不胜感激。
在 nav_bar 中为按钮使用自定义 UIImageView 时,该按钮失去点击功能。您可以通过添加以下行来取回它:
image_view.setUserInteractionEnabled(true)
image_view.addGestureRecognizer(UITapGestureRecognizer.alloc.initWithTarget(self, action: :open_profile))
我的 nav_bar 应该会在右边显示 logged_in 用户的照片,点击它应该会打开个人资料屏幕。
它适用于尚未上传个人资料图片的新用户,因为它使用的是本地占位符图片,但是当 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),
点击/点击现在可以使用,但不显示图像。
如有任何帮助,我们将不胜感激。
在 nav_bar 中为按钮使用自定义 UIImageView 时,该按钮失去点击功能。您可以通过添加以下行来取回它:
image_view.setUserInteractionEnabled(true)
image_view.addGestureRecognizer(UITapGestureRecognizer.alloc.initWithTarget(self, action: :open_profile))