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",
"filename" : "stars64 copy 3.png",
"filename" : "star-3.png",
"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 {
private(set) lazy var back: UIBarButtonItem = 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 toc: UIBarButtonItem = 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 library: UIBarButtonItem = LPTBarButtonItem(imageName: "Library", delegate: self)
private(set) lazy var setting: UIBarButtonItem = LPTBarButtonItem(imageName: "Setting", delegate: self)
private(set) lazy var back: LPTBarButtonItem = LPTBarButtonItem(imageName: "LeftArrow", scale: 0.8, delegate: self)
private(set) lazy var forward: LPTBarButtonItem = LPTBarButtonItem(imageName: "RightArrow", scale: 0.8, delegate: self)
private(set) lazy var toc: LPTBarButtonItem = LPTBarButtonItem(imageName: "TableOfContent", scale: 0.8, 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: LPTBarButtonItem = LPTBarButtonItem(imageName: "Library", 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:)))

View File

@ -32,10 +32,15 @@ extension MainController: UIWebViewDelegate, SFSafariViewControllerDelegate {
JS.preventDefaultLongTap(webView: webView)
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.forward.tintColor = webView.canGoForward ? nil : UIColor.gray
buttons.bookmark.isHighlighted = article.isBookmarked
guard let title = JS.getTitle(from: webView) else {return}
article.title = title
searchBar.title = title
}
@ -156,12 +161,13 @@ extension MainController: ButtonDelegates {
}
func didLongPressBookmarkButton() {
showBookmarkHUD()
guard let url = webView.request?.url,
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>
</array>
<key>CFBundleVersion</key>
<string>1.8.3401</string>
<string>1.8.3419</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSRequiresIPhoneOS</key>

View File

@ -15,17 +15,22 @@ class LPTBarButtonItem: UIBarButtonItem {
scale: CGFloat = 1.0,
grayed: Bool = true,
delegate: LPTBarButtonItemDelegate? = nil) {
let image = UIImage(named: imageName)?.withRenderingMode(.alwaysTemplate)
let highlightedImage: UIImage? = {
var image = UIImage(named: imageName)
var highlightedImage: UIImage? = {
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)
imageView.contentMode = UIViewContentMode.scaleAspectFit
imageView.frame = CGRect(x: 0, y: 0, width: 26, height: 26)
imageView.tintColor = grayed ? UIColor.gray : nil
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
imageView.center = containerView.center
@ -48,6 +53,12 @@ class LPTBarButtonItem: UIBarButtonItem {
}
}
var isHighlighted: Bool = false {
didSet {
imageView?.isHighlighted = isHighlighted
}
}
// MARK: - properties
weak var delegate: LPTBarButtonItemDelegate?

View File

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