Skip to content

Commit

Permalink
Fix Avatar image
Browse files Browse the repository at this point in the history
  • Loading branch information
touyu committed Apr 29, 2017
1 parent 735ef5a commit ce70751
Show file tree
Hide file tree
Showing 9 changed files with 31 additions and 24 deletions.
9 changes: 9 additions & 0 deletions Annict-for-iOS/Controllers/AnnictImageManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@ import Kingfisher

class AnnictImageManager {

class func setAvatarImage(imageView: UIImageView, user: AnnictUserResponse?) {
guard let avatarImageURL = user?.avatarURL else {
imageView.image = placeholderImage
return
}

imageView.kf.setImage(with: avatarImageURL, placeholder: placeholderImage)
}

class func setWorkImage(imageView: UIImageView!, work: AnnictWorkResponse?) {
guard let work = work else {
imageView.image = defaultImage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,11 @@ class AnnictDetailAnimeInfoTabViewController: ButtonBarPagerTabStripViewControll
}

override public func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {
let a = AnnictDetailAnimeInfoViewController.instantiate(withStoryboard: "AnnictWorks")
a.work = work
a.status = self.status
let b = AnnictEpisodeViewController.instantiate(withStoryboard: "AnnictWorks")
b.workID = work.id
let a = AnnictEpisodeViewController.instantiate(withStoryboard: "AnnictWorks")
a.workID = work.id
let b = AnnictDetailAnimeInfoViewController.instantiate(withStoryboard: "AnnictWorks")
b.work = work
b.status = self.status
return [a, b]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,22 @@ struct AnnictUserResponse {
var username: String?
var name: String?
var description: String?
var avatarURL: String?
var backgroundImageURL: String?
var recordsCount: Int?

var avatarURL: URL? {
guard let avatarURLString = self.avatarURLString else { return nil }
return URL(string: avatarURLString)
}

private var avatarURLString: String?

init (_ e: Extractor) {
id = try! e <| "id"
username = try! e <|? "username"
name = try! e <|? "name"
description = try! e <|? "description"
avatarURL = try! e <|? "avatar_url"
avatarURLString = try! e <|? "avatar_url"
backgroundImageURL = try! e <|? "background_image_url"
recordsCount = try! e <|? "records_count"
}
Expand All @@ -49,7 +55,7 @@ struct AnnictUserResponse {
username = dictionary["username"] as? String
name = dictionary["name"] as? String
description = dictionary["description"] as? String
avatarURL = dictionary["avatarURL"] as? String
avatarURLString = dictionary["avatarURL"] as? String
backgroundImageURL = dictionary["backgroundImageURL"] as? String
recordsCount = dictionary["records_count"] as? Int
}
Expand All @@ -60,7 +66,7 @@ struct AnnictUserResponse {
dictionary["username"] = username
dictionary["name"] = name
dictionary["description"] = description
dictionary["avatarURL"] = avatarURL
dictionary["avatarURL"] = avatarURLString
dictionary["backgroundImageURL"] = backgroundImageURL
dictionary["records_count"] = recordsCount
return dictionary
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,7 @@ class AnnictActivityCreateMultipleRecordsCell: UITableViewCell {
private func initUserInfo(userData: AnnictUserResponse?) {
guard let userData = userData else { return }

if let urlString = userData.avatarURL, let url = URL(string: urlString) {
self.avatarImageView.kf.setImage(with: url)
}
AnnictImageManager.setAvatarImage(imageView: avatarImageView, user: userData)

self.nameLabel.text = userData.name

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,7 @@ class AnnictActivityCreateRecordCell: UITableViewCell {
private func initUserInfo(userData: AnnictUserResponse?) {
guard let userData = userData else { return }

if let urlString = userData.avatarURL, let url = URL(string: urlString) {
self.avatarImageView.kf.setImage(with: url)
}
AnnictImageManager.setAvatarImage(imageView: avatarImageView, user: userData)

self.nameLabel.text = userData.name

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,7 @@ class AnnictActivityCreateStatusCell: UITableViewCell {
private func initUserInfo(userData: AnnictUserResponse?) {
guard let userData = userData else { return }

if let urlString = userData.avatarURL, let url = URL(string: urlString) {
self.avatarImageView.kf.setImage(with: url)
}
AnnictImageManager.setAvatarImage(imageView: avatarImageView, user: userData)

self.nameLabel.text = userData.name

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11762" systemVersion="16C67" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11762" systemVersion="16D30" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
Expand Down Expand Up @@ -27,7 +27,7 @@
<color key="textColor" red="0.11764705882352941" green="0.11764705882352941" blue="0.11764705882352941" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumScaleFactor="0.80000000000000004" translatesAutoresizingMaskIntoConstraints="NO" id="q6r-xc-yYJ">
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="q6r-xc-yYJ">
<rect key="frame" x="55" y="21.5" width="28.5" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" red="0.1176470588" green="0.1176470588" blue="0.1176470588" alpha="1" colorSpace="calibratedRGB"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class AnnictRecordCell: UITableViewCell {
initTimeLabel(createdAt: record.createdAt)
initStars(rating: record.rating)

// AnnictImageManager.setAvatarImage(imageView: avatarImageView, user: record.user)
AnnictImageManager.setAvatarImage(imageView: avatarImageView, user: record.user)
}

private func initUI() {
Expand Down
4 changes: 1 addition & 3 deletions Annict-for-iOS/Views/UserProfileView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,7 @@ class UserProfileView: UIView {
}

fileprivate func setData(userData: AnnictUserResponse) {
if let urlString = userData.avatarURL, let url = URL(string: urlString) {
self.avatarImageView.kf.setImage(with: url)
}
AnnictImageManager.setAvatarImage(imageView: avatarImageView, user: userData)

if let backgroundImageURLString = userData.backgroundImageURL, let backgroundImageURL = URL(string: backgroundImageURLString) {
self.backgroundImageView.kf.setImage(with: backgroundImageURL)
Expand Down

0 comments on commit ce70751

Please sign in to comment.