2016-07-22 8 views
0

Навигатор должен показывать изображение пользователя logged_in справа и щелкнуть по нему, чтобы открыть экран профиля.Невозможно добавить удаленное изображение на кнопку nav_bar в ProMotion

Он отлично работает с новым пользователем, который еще не загрузил фотографию профиля, поскольку использует локальное изображение-заполнитель, но когда Auth.current_user["image"] содержит URL-адрес, указывающий на изображение профиля пользователя 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

При использовании пользовательского UIImageView для кнопки в nav_bar кнопка теряет функциональность щелчка. Вы можете вернуть его, добавив следующие строки:

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