This commit is contained in:
Chris Li 2016-11-27 10:06:36 -05:00
parent 2ce3b75e62
commit 4be0780b14
10 changed files with 33 additions and 16 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -10,7 +10,7 @@
}, },
{ {
"idiom" : "universal", "idiom" : "universal",
"filename" : "stars64 copy 3.png", "filename" : "star-3.png",
"scale" : "3x" "scale" : "3x"
} }
], ],

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -10,12 +10,12 @@ import UIKit
class Buttons: LPTBarButtonItemDelegate { class Buttons: LPTBarButtonItemDelegate {
private(set) lazy var back: UIBarButtonItem = LPTBarButtonItem(imageName: "LeftArrow", scale: 0.8, delegate: self) private(set) lazy var back: LPTBarButtonItem = LPTBarButtonItem(imageName: "LeftArrow", scale: 0.8, delegate: self)
private(set) lazy var forward: UIBarButtonItem = LPTBarButtonItem(imageName: "RightArrow", scale: 0.8, delegate: self) private(set) lazy var forward: LPTBarButtonItem = LPTBarButtonItem(imageName: "RightArrow", scale: 0.8, delegate: self)
private(set) lazy var toc: UIBarButtonItem = LPTBarButtonItem(imageName: "TableOfContent", scale: 0.8, delegate: self) private(set) lazy var toc: LPTBarButtonItem = LPTBarButtonItem(imageName: "TableOfContent", scale: 0.8, delegate: self)
private(set) lazy var bookmark: UIBarButtonItem = LPTBarButtonItem(imageName: "Bookmark", scale: 0.9, delegate: self) private(set) lazy var bookmark: LPTBarButtonItem = LPTBarButtonItem(imageName: "Bookmark", highlightedImageName: "BookmarkHighlighted", scale: 0.9, grayed: false, delegate: self)
private(set) lazy var library: UIBarButtonItem = LPTBarButtonItem(imageName: "Library", delegate: self) private(set) lazy var library: LPTBarButtonItem = LPTBarButtonItem(imageName: "Library", delegate: self)
private(set) lazy var setting: UIBarButtonItem = LPTBarButtonItem(imageName: "Setting", delegate: self) private(set) lazy var setting: LPTBarButtonItem = LPTBarButtonItem(imageName: "Setting", delegate: self)
private(set) lazy var cancel: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(tapped(button:))) private(set) lazy var cancel: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(tapped(button:)))

View File

@ -32,10 +32,15 @@ extension MainController: UIWebViewDelegate, SFSafariViewControllerDelegate {
JS.preventDefaultLongTap(webView: webView) JS.preventDefaultLongTap(webView: webView)
URLResponseCache.shared.stop() URLResponseCache.shared.stop()
guard let url = webView.request?.url,
let article = Article.fetch(url: url, context: AppDelegate.persistentContainer.viewContext) else {return}
buttons.back.tintColor = webView.canGoBack ? nil : UIColor.gray buttons.back.tintColor = webView.canGoBack ? nil : UIColor.gray
buttons.forward.tintColor = webView.canGoForward ? nil : UIColor.gray buttons.forward.tintColor = webView.canGoForward ? nil : UIColor.gray
buttons.bookmark.isHighlighted = article.isBookmarked
guard let title = JS.getTitle(from: webView) else {return} guard let title = JS.getTitle(from: webView) else {return}
article.title = title
searchBar.title = title searchBar.title = title
} }
@ -156,12 +161,13 @@ extension MainController: ButtonDelegates {
} }
func didLongPressBookmarkButton() { func didLongPressBookmarkButton() {
showBookmarkHUD()
guard let url = webView.request?.url, guard let url = webView.request?.url,
let article = Article.fetch(url: url, context: AppDelegate.persistentContainer.viewContext) else {return} let article = Article.fetch(url: url, context: AppDelegate.persistentContainer.viewContext) else {return}
article.title = JS.getTitle(from: webView) article.isBookmarked = !article.isBookmarked
showBookmarkHUD()
controllers.bookmarkHUD.bookmarkAdded = article.isBookmarked
buttons.bookmark.isHighlighted = article.isBookmarked
} }
} }

View File

@ -49,7 +49,7 @@
</dict> </dict>
</array> </array>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1.8.3401</string> <string>1.8.3419</string>
<key>ITSAppUsesNonExemptEncryption</key> <key>ITSAppUsesNonExemptEncryption</key>
<false/> <false/>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>

View File

@ -15,17 +15,22 @@ class LPTBarButtonItem: UIBarButtonItem {
scale: CGFloat = 1.0, scale: CGFloat = 1.0,
grayed: Bool = true, grayed: Bool = true,
delegate: LPTBarButtonItemDelegate? = nil) { delegate: LPTBarButtonItemDelegate? = nil) {
let image = UIImage(named: imageName)?.withRenderingMode(.alwaysTemplate) var image = UIImage(named: imageName)
let highlightedImage: UIImage? = { var highlightedImage: UIImage? = {
guard let name = highlightedImageName else {return nil} guard let name = highlightedImageName else {return nil}
return UIImage(named: name)?.withRenderingMode(.alwaysTemplate) return UIImage(named: name)
}() }()
if grayed {
image = image?.withRenderingMode(.alwaysTemplate)
highlightedImage = highlightedImage?.withRenderingMode(.alwaysTemplate)
}
let imageView = UIImageView(image: image, highlightedImage: highlightedImage) let imageView = UIImageView(image: image, highlightedImage: highlightedImage)
imageView.contentMode = UIViewContentMode.scaleAspectFit imageView.contentMode = UIViewContentMode.scaleAspectFit
imageView.frame = CGRect(x: 0, y: 0, width: 26, height: 26) imageView.frame = CGRect(x: 0, y: 0, width: 26, height: 26)
imageView.tintColor = grayed ? UIColor.gray : nil
imageView.transform = CGAffineTransform(scaleX: scale, y: scale) imageView.transform = CGAffineTransform(scaleX: scale, y: scale)
if grayed {imageView.tintColor = UIColor.gray}
let containerView = UIView(frame: CGRect(x: 0, y: 0, width: 44, height: 30)) // on ipad may be 52, 44 is value on iP6s+, to be investigated let containerView = UIView(frame: CGRect(x: 0, y: 0, width: 44, height: 30)) // on ipad may be 52, 44 is value on iP6s+, to be investigated
imageView.center = containerView.center imageView.center = containerView.center
@ -48,6 +53,12 @@ class LPTBarButtonItem: UIBarButtonItem {
} }
} }
var isHighlighted: Bool = false {
didSet {
imageView?.isHighlighted = isHighlighted
}
}
// MARK: - properties // MARK: - properties
weak var delegate: LPTBarButtonItemDelegate? weak var delegate: LPTBarButtonItemDelegate?

View File

@ -21,7 +21,7 @@
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1.8.3401</string> <string>1.8.3419</string>
<key>NSExtension</key> <key>NSExtension</key>
<dict> <dict>
<key>NSExtensionMainStoryboard</key> <key>NSExtensionMainStoryboard</key>