mirror of
https://github.com/kiwix/kiwix-apple.git
synced 2025-09-26 21:39:37 -04:00
Font size
This commit is contained in:
parent
ab2fbea8db
commit
0c7e6421ec
74
Kiwix-iOS/Controller/Setting/FontSizeController.swift
Normal file
74
Kiwix-iOS/Controller/Setting/FontSizeController.swift
Normal file
@ -0,0 +1,74 @@
|
||||
//
|
||||
// FontSizeController.swift
|
||||
// Kiwix
|
||||
//
|
||||
// Created by Chris Li on 1/20/17.
|
||||
// Copyright © 2017 Chris Li. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class FontSizeController: UIViewController, UITableViewDelegate, UITableViewDataSource {
|
||||
|
||||
@IBOutlet weak var label: UILabel!
|
||||
@IBOutlet weak var visiualView: UIVisualEffectView!
|
||||
@IBOutlet weak var tableView: UITableView!
|
||||
|
||||
private(set) var selected = Preference.webViewZoomScale
|
||||
let percentages = [0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 1.05, 1.10, 1.15, 1.20, 1.30, 1.40, 1.50, 1.75, 2.0]
|
||||
let percentageFormatter: NumberFormatter = {
|
||||
let formatter = NumberFormatter()
|
||||
formatter.numberStyle = .percent
|
||||
formatter.maximumFractionDigits = 0
|
||||
formatter.maximumIntegerDigits = 3
|
||||
return formatter
|
||||
}()
|
||||
|
||||
override func viewWillDisappear(_ animated: Bool) {
|
||||
super.viewWillDisappear(animated)
|
||||
Preference.webViewZoomScale = selected
|
||||
}
|
||||
|
||||
override func viewDidLayoutSubviews() {
|
||||
super.viewDidLayoutSubviews()
|
||||
let topInset = (navigationController?.navigationBar.frame.height ?? 0) + visiualView.frame.height
|
||||
tableView.contentInset = UIEdgeInsets(top: topInset, left: 0, bottom: 0, right: 0)
|
||||
tableView.scrollIndicatorInsets = tableView.contentInset
|
||||
tableView.scrollRectToVisible(CGRect(x: 0, y: 0, width: 1, height: 1), animated: false)
|
||||
}
|
||||
|
||||
// MARK: - UITableViewDataSource
|
||||
|
||||
func numberOfSections(in tableView: UITableView) -> Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
||||
return percentages.count
|
||||
}
|
||||
|
||||
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
|
||||
cell.textLabel?.text = percentageFormatter.string(from: NSNumber(value: percentages[indexPath.row]))
|
||||
cell.accessoryType = percentages[indexPath.row] == selected ? .checkmark : .none
|
||||
return cell
|
||||
}
|
||||
|
||||
// MARK: - UITableViewDelegate
|
||||
|
||||
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
|
||||
tableView.deselectRow(at: indexPath, animated: true)
|
||||
|
||||
var indexPaths = [indexPath]
|
||||
|
||||
if let previousIndex = percentages.index(of: selected) {
|
||||
indexPaths.append(IndexPath(row: previousIndex, section: 0))
|
||||
}
|
||||
|
||||
selected = percentages[indexPath.row]
|
||||
tableView.reloadRows(at: indexPaths, with: .automatic)
|
||||
label.font = UIFont.systemFont(ofSize: CGFloat(14.0 * percentages[indexPath.row]))
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
//
|
||||
// NotificationSettingController.swift
|
||||
// Kiwix
|
||||
//
|
||||
// Created by Chris Li on 1/20/17.
|
||||
// Copyright © 2017 Chris Li. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class NotificationSettingController: UITableViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
// Uncomment the following line to preserve selection between presentations
|
||||
// self.clearsSelectionOnViewWillAppear = false
|
||||
|
||||
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
|
||||
// self.navigationItem.rightBarButtonItem = self.editButtonItem()
|
||||
}
|
||||
|
||||
override func didReceiveMemoryWarning() {
|
||||
super.didReceiveMemoryWarning()
|
||||
// Dispose of any resources that can be recreated.
|
||||
}
|
||||
|
||||
// MARK: - Table view data source
|
||||
|
||||
override func numberOfSections(in tableView: UITableView) -> Int {
|
||||
// #warning Incomplete implementation, return the number of sections
|
||||
return 0
|
||||
}
|
||||
|
||||
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
||||
// #warning Incomplete implementation, return the number of rows
|
||||
return 0
|
||||
}
|
||||
|
||||
/*
|
||||
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||
let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", for: indexPath)
|
||||
|
||||
// Configure the cell...
|
||||
|
||||
return cell
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Override to support conditional editing of the table view.
|
||||
override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
|
||||
// Return false if you do not want the specified item to be editable.
|
||||
return true
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Override to support editing the table view.
|
||||
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
|
||||
if editingStyle == .delete {
|
||||
// Delete the row from the data source
|
||||
tableView.deleteRows(at: [indexPath], with: .fade)
|
||||
} else if editingStyle == .insert {
|
||||
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Override to support rearranging the table view.
|
||||
override func tableView(_ tableView: UITableView, moveRowAt fromIndexPath: IndexPath, to: IndexPath) {
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Override to support conditional rearranging of the table view.
|
||||
override func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool {
|
||||
// Return false if you do not want the item to be re-orderable.
|
||||
return true
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// MARK: - Navigation
|
||||
|
||||
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
||||
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
|
||||
// Get the new view controller using segue.destinationViewController.
|
||||
// Pass the selected object to the new view controller.
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
@ -15,6 +15,14 @@ class SettingController: UITableViewController {
|
||||
let rows = [[Localized.Setting.fontSize, Localized.Setting.notifications],
|
||||
[Localized.Setting.feedback, Localized.Setting.rateApp],
|
||||
[Localized.Setting.about]]
|
||||
|
||||
let percentageFormatter: NumberFormatter = {
|
||||
let formatter = NumberFormatter()
|
||||
formatter.numberStyle = .percent
|
||||
formatter.maximumFractionDigits = 0
|
||||
formatter.maximumIntegerDigits = 3
|
||||
return formatter
|
||||
}()
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
@ -37,7 +45,14 @@ class SettingController: UITableViewController {
|
||||
|
||||
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
||||
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
|
||||
cell.textLabel?.text = rows[indexPath.section][indexPath.row]
|
||||
let text = rows[indexPath.section][indexPath.row]
|
||||
cell.textLabel?.text = text
|
||||
switch text {
|
||||
case Localized.Setting.fontSize:
|
||||
cell.detailTextLabel?.text = percentageFormatter.string(from: NSNumber(value: Preference.webViewZoomScale))
|
||||
default:
|
||||
cell.detailTextLabel?.text = nil
|
||||
}
|
||||
return cell
|
||||
}
|
||||
|
||||
@ -47,6 +62,10 @@ class SettingController: UITableViewController {
|
||||
tableView.deselectRow(at: indexPath, animated: true)
|
||||
let text = rows[indexPath.section][indexPath.row]
|
||||
switch text {
|
||||
case Localized.Setting.fontSize:
|
||||
let controller = UIStoryboard(name: "Setting", bundle: nil).instantiateViewController(withIdentifier: "FontSizeController") as! FontSizeController
|
||||
controller.title = Localized.Setting.fontSize
|
||||
navigationController?.pushViewController(controller, animated: true)
|
||||
case Localized.Setting.feedback:
|
||||
if MFMailComposeViewController.canSendMail() {
|
||||
UIQueue.shared.add(operation: FeedbackMailOperation(context: self))
|
||||
@ -90,6 +109,11 @@ extension Localized {
|
||||
static let about = NSLocalizedString("About", comment: "Setting table rows")
|
||||
static let version = NSLocalizedString("Kiwix for iOS v%@", comment: "Setting table footer")
|
||||
|
||||
class Notification {
|
||||
static let libraryRefresh = NSLocalizedString("Library Refresh", comment: "Notification Setting")
|
||||
static let bookUpdatesAvailable = NSLocalizedString("Book Updates Available", comment: "Notification Setting")
|
||||
}
|
||||
|
||||
class Feedback {
|
||||
static let subject = NSLocalizedString(String(format: "Feedback: Kiwix for iOS %@", Bundle.appShortVersion),
|
||||
comment: "Feedback email composer subject, %@ will be replaced by kiwix version string")
|
||||
|
@ -18,7 +18,7 @@
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
|
||||
<prototypes>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="Cell" textLabel="OEl-0W-5zG" style="IBUITableViewCellStyleDefault" id="K6f-F5-Ibr">
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="Cell" textLabel="OEl-0W-5zG" detailTextLabel="Gym-6E-seW" style="IBUITableViewCellStyleValue1" id="K6f-F5-Ibr">
|
||||
<rect key="frame" x="0.0" y="56" width="375" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="K6f-F5-Ibr" id="VlD-vh-hfO">
|
||||
@ -26,7 +26,14 @@
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="OEl-0W-5zG">
|
||||
<rect key="frame" x="15" y="0.0" width="325" height="43"/>
|
||||
<rect key="frame" x="15" y="11" width="34" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Detail" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Gym-6E-seW">
|
||||
<rect key="frame" x="296" y="11" width="44" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
@ -53,6 +60,138 @@
|
||||
</objects>
|
||||
<point key="canvasLocation" x="1040.8" y="224.4377811094453"/>
|
||||
</scene>
|
||||
<!--Font Size Controller-->
|
||||
<scene sceneID="J3V-PD-eYd">
|
||||
<objects>
|
||||
<viewController storyboardIdentifier="FontSizeController" automaticallyAdjustsScrollViewInsets="NO" id="P2M-5j-5TY" customClass="FontSizeController" customModule="Kiwix" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="uqv-6I-TtY"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="0g9-an-uzg"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="ACg-V3-Vck">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" translatesAutoresizingMaskIntoConstraints="NO" id="IN1-AZ-MDG">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
|
||||
<prototypes>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="Cell" id="fQb-QE-gpI">
|
||||
<rect key="frame" x="0.0" y="56" width="375" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="fQb-QE-gpI" id="7Jd-OT-Wkn">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</tableViewCellContentView>
|
||||
</tableViewCell>
|
||||
</prototypes>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="P2M-5j-5TY" id="22X-as-lzi"/>
|
||||
<outlet property="delegate" destination="P2M-5j-5TY" id="7kM-X9-17W"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
<visualEffectView opaque="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ifm-6c-UaC">
|
||||
<rect key="frame" x="0.0" y="64" width="375" height="90.5"/>
|
||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="2v7-6U-Zy8">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="90.5"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="justified" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q8Z-xJ-28L">
|
||||
<rect key="frame" x="8" y="31" width="359" height="50.5"/>
|
||||
<string key="text">Kiwix for iOS is an offline reader for wikipedia. Our mission is to give people equal and easy access to free knowledge of the world.</string>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pWH-2t-LHW">
|
||||
<rect key="frame" x="0.0" y="89.5" width="375" height="1"/>
|
||||
<color key="backgroundColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="0.5" id="hMS-Ko-BaP"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Preview:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qio-Rh-CpL">
|
||||
<rect key="frame" x="8" y="8" width="359" height="21"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="pWH-2t-LHW" secondAttribute="bottom" id="1zF-HW-C31"/>
|
||||
<constraint firstItem="qio-Rh-CpL" firstAttribute="top" secondItem="2v7-6U-Zy8" secondAttribute="top" constant="8" id="4MU-Q0-pWq"/>
|
||||
<constraint firstAttribute="trailing" secondItem="pWH-2t-LHW" secondAttribute="trailing" id="K6u-Dg-Hz5"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Q8Z-xJ-28L" secondAttribute="trailing" constant="8" id="MGr-Em-FzR"/>
|
||||
<constraint firstItem="qio-Rh-CpL" firstAttribute="leading" secondItem="2v7-6U-Zy8" secondAttribute="leading" constant="8" id="NFw-1L-7Er"/>
|
||||
<constraint firstAttribute="trailing" secondItem="qio-Rh-CpL" secondAttribute="trailing" constant="8" id="bdz-hh-LHL"/>
|
||||
<constraint firstItem="pWH-2t-LHW" firstAttribute="top" secondItem="Q8Z-xJ-28L" secondAttribute="bottom" constant="8" id="g91-d8-owW"/>
|
||||
<constraint firstItem="Q8Z-xJ-28L" firstAttribute="leading" secondItem="2v7-6U-Zy8" secondAttribute="leading" constant="8" id="oKg-Yp-fm6"/>
|
||||
<constraint firstItem="pWH-2t-LHW" firstAttribute="leading" secondItem="2v7-6U-Zy8" secondAttribute="leading" id="reU-JU-IjM"/>
|
||||
<constraint firstItem="Q8Z-xJ-28L" firstAttribute="top" secondItem="qio-Rh-CpL" secondAttribute="bottom" constant="2" id="wfW-hH-WOA"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<blurEffect style="extraLight"/>
|
||||
</visualEffectView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="Ifm-6c-UaC" secondAttribute="trailing" id="CYp-TC-GoI"/>
|
||||
<constraint firstItem="Ifm-6c-UaC" firstAttribute="leading" secondItem="ACg-V3-Vck" secondAttribute="leading" id="Eus-UL-e9a"/>
|
||||
<constraint firstItem="IN1-AZ-MDG" firstAttribute="leading" secondItem="ACg-V3-Vck" secondAttribute="leading" id="JAM-SY-5Sm"/>
|
||||
<constraint firstItem="IN1-AZ-MDG" firstAttribute="top" secondItem="ACg-V3-Vck" secondAttribute="top" id="QgJ-Y0-a4v"/>
|
||||
<constraint firstItem="Ifm-6c-UaC" firstAttribute="top" secondItem="uqv-6I-TtY" secondAttribute="bottom" id="imv-13-bXi"/>
|
||||
<constraint firstItem="0g9-an-uzg" firstAttribute="top" secondItem="IN1-AZ-MDG" secondAttribute="bottom" id="oRY-JB-ylK"/>
|
||||
<constraint firstAttribute="trailing" secondItem="IN1-AZ-MDG" secondAttribute="trailing" id="zFH-ia-OVo"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<simulatedNavigationBarMetrics key="simulatedTopBarMetrics" prompted="NO"/>
|
||||
<connections>
|
||||
<outlet property="label" destination="Q8Z-xJ-28L" id="b20-Ts-400"/>
|
||||
<outlet property="tableView" destination="IN1-AZ-MDG" id="RKl-HE-T5c"/>
|
||||
<outlet property="visiualView" destination="Ifm-6c-UaC" id="WjN-xd-jXA"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="6MA-Bq-hJq" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="2505" y="224"/>
|
||||
</scene>
|
||||
<!--Table View Controller-->
|
||||
<scene sceneID="9Sm-h0-uHE">
|
||||
<objects>
|
||||
<tableViewController id="vWm-pL-Cqo" sceneMemberID="viewController">
|
||||
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="Wdz-NP-TF0">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
|
||||
<prototypes>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="Cell" textLabel="WUG-nC-ahL" style="IBUITableViewCellStyleDefault" id="aC7-5o-lNk">
|
||||
<rect key="frame" x="0.0" y="56" width="375" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="aC7-5o-lNk" id="X9i-gE-h3L">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="WUG-nC-ahL">
|
||||
<rect key="frame" x="15" y="0.0" width="345" height="43"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</tableViewCellContentView>
|
||||
</tableViewCell>
|
||||
</prototypes>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="vWm-pL-Cqo" id="drG-HO-hBg"/>
|
||||
<outlet property="delegate" destination="vWm-pL-Cqo" id="MHp-JV-bAY"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
</tableViewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="5iA-l5-DLY" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="3252" y="224"/>
|
||||
</scene>
|
||||
<!--Static Web Controller-->
|
||||
<scene sceneID="BAo-fm-zbn">
|
||||
<objects>
|
||||
|
@ -71,6 +71,8 @@
|
||||
976C1DD21E3000F1005EDEC4 /* SettingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976C1DD11E3000F1005EDEC4 /* SettingController.swift */; };
|
||||
976C1DD41E300695005EDEC4 /* UIProcedure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976C1DD31E300695005EDEC4 /* UIProcedure.swift */; };
|
||||
976C1DD61E32628B005EDEC4 /* StaticWebController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976C1DD51E32628B005EDEC4 /* StaticWebController.swift */; };
|
||||
976C1DD81E327328005EDEC4 /* FontSizeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976C1DD71E327328005EDEC4 /* FontSizeController.swift */; };
|
||||
976C1DDA1E32A7B3005EDEC4 /* NotificationSettingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976C1DD91E32A7B3005EDEC4 /* NotificationSettingController.swift */; };
|
||||
9771A5BD1DD269BD005F1795 /* Book+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97D6813C1D6F712800E5FA99 /* Book+CoreDataProperties.swift */; };
|
||||
9779C3141D4575AD0064CC8E /* NotificationCenter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 97E609F01D103DED00EBCB9D /* NotificationCenter.framework */; };
|
||||
9779C3171D4575AE0064CC8E /* TodayViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9779C3161D4575AE0064CC8E /* TodayViewController.swift */; };
|
||||
@ -232,6 +234,8 @@
|
||||
976C1DD11E3000F1005EDEC4 /* SettingController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingController.swift; sourceTree = "<group>"; };
|
||||
976C1DD31E300695005EDEC4 /* UIProcedure.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIProcedure.swift; sourceTree = "<group>"; };
|
||||
976C1DD51E32628B005EDEC4 /* StaticWebController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StaticWebController.swift; sourceTree = "<group>"; };
|
||||
976C1DD71E327328005EDEC4 /* FontSizeController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FontSizeController.swift; sourceTree = "<group>"; };
|
||||
976C1DD91E32A7B3005EDEC4 /* NotificationSettingController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationSettingController.swift; sourceTree = "<group>"; };
|
||||
9779C3131D4575AD0064CC8E /* Bookmarks.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = Bookmarks.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9779C3161D4575AE0064CC8E /* TodayViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodayViewController.swift; sourceTree = "<group>"; };
|
||||
9779C31B1D4575AE0064CC8E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
@ -587,6 +591,8 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
976C1DD11E3000F1005EDEC4 /* SettingController.swift */,
|
||||
976C1DD91E32A7B3005EDEC4 /* NotificationSettingController.swift */,
|
||||
976C1DD71E327328005EDEC4 /* FontSizeController.swift */,
|
||||
976C1DD51E32628B005EDEC4 /* StaticWebController.swift */,
|
||||
);
|
||||
path = Setting;
|
||||
@ -1123,6 +1129,7 @@
|
||||
97D681321D6F70EC00E5FA99 /* MigrationPolicy.swift in Sources */,
|
||||
9732079E1DD197EA00EDD3DC /* LibrarySplitViewController.swift in Sources */,
|
||||
976C1DCB1E2FD5FC005EDEC4 /* TableOfContentsController.swift in Sources */,
|
||||
976C1DD81E327328005EDEC4 /* FontSizeController.swift in Sources */,
|
||||
9771A5BD1DD269BD005F1795 /* Book+CoreDataProperties.swift in Sources */,
|
||||
9764CBD11D806AD800072D6A /* RefreshLibControl.swift in Sources */,
|
||||
976C1DD61E32628B005EDEC4 /* StaticWebController.swift in Sources */,
|
||||
@ -1133,6 +1140,7 @@
|
||||
97A127CC1D777CF100FB204D /* SearchResultController.swift in Sources */,
|
||||
9732079F1DD197F400EDD3DC /* CloudBooksController.swift in Sources */,
|
||||
973208241DD217B600EDD3DC /* BookmarkHUD.swift in Sources */,
|
||||
976C1DDA1E32A7B3005EDEC4 /* NotificationSettingController.swift in Sources */,
|
||||
971A102F1D022AD5007FC62C /* Logo.swift in Sources */,
|
||||
97A1FD191D6F71CE00A80EE2 /* ZimMultiReader.swift in Sources */,
|
||||
97A1FD261D6F71E200A80EE2 /* ZimReader.mm in Sources */,
|
||||
|
Loading…
x
Reference in New Issue
Block a user