Browse Source

Development

master
Dwayne Harris 6 years ago
parent
commit
1cd3ef6a7e
  1. 12
      elpha-ios.xcodeproj/project.pbxproj
  2. 15
      elpha-ios/Assets.xcassets/Timelines.imageset/Contents.json
  3. BIN
      elpha-ios/Assets.xcassets/Timelines.imageset/timelines.pdf
  4. 5
      elpha-ios/Assets.xcassets/Toot.imageset/Contents.json
  5. BIN
      elpha-ios/Assets.xcassets/Toot.imageset/toot.pdf
  6. BIN
      elpha-ios/Assets.xcassets/first.imageset/first.pdf
  7. 6
      elpha-ios/AuthenticateViewController.swift
  8. 119
      elpha-ios/Base.lproj/Main.storyboard
  9. 25
      elpha-ios/FirstViewController.swift
  10. 2
      elpha-ios/MainTabBarController.swift
  11. 24
      elpha-ios/TimelineViewController.swift
  12. 15
      elpha-ios/TimelinesNavigationController.swift

12
elpha-ios.xcodeproj/project.pbxproj

@ -8,7 +8,6 @@
/* Begin PBXBuildFile section */
15960E5B213145E100C38CE9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15960E5A213145E100C38CE9 /* AppDelegate.swift */; };
15960E5D213145E100C38CE9 /* FirstViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15960E5C213145E100C38CE9 /* FirstViewController.swift */; };
15960E5F213145E100C38CE9 /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15960E5E213145E100C38CE9 /* SecondViewController.swift */; };
15960E62213145E100C38CE9 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 15960E60213145E100C38CE9 /* Main.storyboard */; };
15960E64213145E200C38CE9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 15960E63213145E200C38CE9 /* Assets.xcassets */; };
@ -20,12 +19,13 @@
15960E7A2132387A00C38CE9 /* MainTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15960E792132387A00C38CE9 /* MainTabBarController.swift */; };
15960E7C213272CD00C38CE9 /* AuthenticationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15960E7B213272CD00C38CE9 /* AuthenticationManager.swift */; };
15960E7E21329FED00C38CE9 /* AuthenticateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15960E7D21329FED00C38CE9 /* AuthenticateViewController.swift */; };
15960E8021353DCF00C38CE9 /* TimelineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15960E7F21353DCF00C38CE9 /* TimelineViewController.swift */; };
15960E822136668500C38CE9 /* TimelinesNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15960E812136668500C38CE9 /* TimelinesNavigationController.swift */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
15960E57213145E100C38CE9 /* elpha-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "elpha-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
15960E5A213145E100C38CE9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
15960E5C213145E100C38CE9 /* FirstViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirstViewController.swift; sourceTree = "<group>"; };
15960E5E213145E100C38CE9 /* SecondViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondViewController.swift; sourceTree = "<group>"; };
15960E61213145E100C38CE9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
15960E63213145E200C38CE9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
@ -38,6 +38,8 @@
15960E792132387A00C38CE9 /* MainTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTabBarController.swift; sourceTree = "<group>"; };
15960E7B213272CD00C38CE9 /* AuthenticationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationManager.swift; sourceTree = "<group>"; };
15960E7D21329FED00C38CE9 /* AuthenticateViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticateViewController.swift; sourceTree = "<group>"; };
15960E7F21353DCF00C38CE9 /* TimelineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineViewController.swift; sourceTree = "<group>"; };
15960E812136668500C38CE9 /* TimelinesNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelinesNavigationController.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -96,10 +98,11 @@
15960E782132383600C38CE9 /* View Controllers */ = {
isa = PBXGroup;
children = (
15960E5C213145E100C38CE9 /* FirstViewController.swift */,
15960E5E213145E100C38CE9 /* SecondViewController.swift */,
15960E792132387A00C38CE9 /* MainTabBarController.swift */,
15960E7D21329FED00C38CE9 /* AuthenticateViewController.swift */,
15960E7F21353DCF00C38CE9 /* TimelineViewController.swift */,
15960E812136668500C38CE9 /* TimelinesNavigationController.swift */,
);
name = "View Controllers";
sourceTree = "<group>";
@ -177,6 +180,7 @@
files = (
15960E7021321FA500C38CE9 /* Elpha.xcdatamodeld in Sources */,
15960E5F213145E100C38CE9 /* SecondViewController.swift in Sources */,
15960E8021353DCF00C38CE9 /* TimelineViewController.swift in Sources */,
15960E7A2132387A00C38CE9 /* MainTabBarController.swift in Sources */,
15960E7C213272CD00C38CE9 /* AuthenticationManager.swift in Sources */,
15960E7E21329FED00C38CE9 /* AuthenticateViewController.swift in Sources */,
@ -184,7 +188,7 @@
15960E7721322C6F00C38CE9 /* Configuration.swift in Sources */,
15960E7521322BF800C38CE9 /* KeychainWrapper.swift in Sources */,
15960E7321322BC700C38CE9 /* KeychainItemAccessibility.swift in Sources */,
15960E5D213145E100C38CE9 /* FirstViewController.swift in Sources */,
15960E822136668500C38CE9 /* TimelinesNavigationController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

15
elpha-ios/Assets.xcassets/Timelines.imageset/Contents.json

@ -0,0 +1,15 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "timelines.pdf"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"preserves-vector-representation" : true
}
}

BIN
elpha-ios/Assets.xcassets/Timelines.imageset/timelines.pdf

5
elpha-ios/Assets.xcassets/first.imageset/Contents.json → elpha-ios/Assets.xcassets/Toot.imageset/Contents.json

@ -2,11 +2,14 @@
"images" : [
{
"idiom" : "universal",
"filename" : "first.pdf"
"filename" : "toot.pdf"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"preserves-vector-representation" : true
}
}

BIN
elpha-ios/Assets.xcassets/Toot.imageset/toot.pdf

BIN
elpha-ios/Assets.xcassets/first.imageset/first.pdf

6
elpha-ios/AuthenticateViewController.swift

@ -9,7 +9,13 @@
import UIKit
class AuthenticateViewController: UIViewController {
@IBOutlet var signInButton: UIButton!
@IBOutlet var instanceTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
signInButton.layer.cornerRadius = 10
signInButton.clipsToBounds = true
}
}

119
elpha-ios/Base.lproj/Main.storyboard

@ -10,42 +10,21 @@
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--First-->
<!--Timeline View Controller-->
<scene sceneID="hNz-n2-bh7">
<objects>
<viewController id="9pv-A4-QxB" customClass="FirstViewController" customModule="elpha_ios" customModuleProvider="target" sceneMemberID="viewController">
<viewController id="9pv-A4-QxB" customClass="TimelineViewController" customModule="elpha_ios" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="tsR-hK-woN">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" text="First View" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="KQZ-1w-vlD">
<rect key="frame" x="112.5" y="312" width="150.5" height="43"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" type="system" pointSize="36"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Loaded by FirstViewController" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="A5M-7J-77L">
<rect key="frame" x="90.5" y="363" width="194.5" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="centerX" secondItem="KQZ-1w-vlD" secondAttribute="centerX" id="6BV-lF-sBN"/>
<constraint firstItem="A5M-7J-77L" firstAttribute="top" secondItem="KQZ-1w-vlD" secondAttribute="bottom" constant="8" symbolic="YES" id="cfb-er-3JN"/>
<constraint firstItem="A5M-7J-77L" firstAttribute="centerX" secondItem="KQZ-1w-vlD" secondAttribute="centerX" id="e1l-AV-tCB"/>
<constraint firstAttribute="centerY" secondItem="KQZ-1w-vlD" secondAttribute="centerY" id="exm-UA-ej4"/>
</constraints>
<viewLayoutGuide key="safeArea" id="PQr-Ze-W5v"/>
</view>
<tabBarItem key="tabBarItem" title="First" image="first" id="acW-dT-cKf"/>
<navigationItem key="navigationItem" id="fYO-hh-Wv6"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="W5J-7L-Pyd" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="750" y="-320"/>
<point key="canvasLocation" x="1688.8" y="-320.68965517241384"/>
</scene>
<!--Authenticate View Controller-->
<scene sceneID="ti2-vn-Sq9">
@ -55,21 +34,76 @@
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Authenticate" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OWL-Bn-9c1">
<rect key="frame" x="135" y="318" width="104" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Elpha" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OWL-Bn-9c1">
<rect key="frame" x="113" y="268" width="150" height="20"/>
<constraints>
<constraint firstAttribute="width" constant="150" id="ZGB-IV-ThF"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<color key="textColor" red="0.54117647058823526" green="0.4823529411764706" blue="0.68235294117647061" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Enter a Mastodon Instance" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Nru-sM-bKD">
<rect key="frame" x="86" y="320" width="204" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.54117647058823526" green="0.4823529411764706" blue="0.68235294117647061" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="mastodon.social" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="02G-kI-p4F">
<rect key="frame" x="10" y="349" width="355" height="30"/>
<color key="backgroundColor" red="0.54117647058823526" green="0.4823529411764706" blue="0.68235294117647061" alpha="1" colorSpace="calibratedRGB"/>
<color key="textColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="TUU-fE-p3J">
<rect key="frame" x="0.0" y="581" width="375" height="86"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ABr-tX-v5Y">
<rect key="frame" x="131" y="28" width="112" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<state key="normal" title="Find an Instance">
<color key="titleColor" red="0.090196078430000007" green="0.047058823530000002" blue="0.28627450980000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
</button>
</subviews>
<color key="backgroundColor" red="0.72941176470588232" green="0.6705882352941176" blue="0.83921568627450982" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="awW-03-3TB">
<rect key="frame" x="137.5" y="387" width="100" height="40"/>
<color key="backgroundColor" red="0.090196078431372548" green="0.047058823529411764" blue="0.28627450980392155" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" constant="100" id="Xfy-op-O1J"/>
<constraint firstAttribute="height" constant="40" id="gl3-OE-jFa"/>
</constraints>
<state key="normal" title="Sign In">
<color key="titleColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="02G-kI-p4F" firstAttribute="leading" secondItem="x4b-tk-8EQ" secondAttribute="leading" constant="10" id="1bh-aZ-3Uh"/>
<constraint firstItem="OWL-Bn-9c1" firstAttribute="centerX" secondItem="ITR-hY-wTb" secondAttribute="centerX" id="4BA-lt-SSX"/>
<constraint firstItem="x4b-tk-8EQ" firstAttribute="trailing" secondItem="02G-kI-p4F" secondAttribute="trailing" constant="10" id="NXw-TG-cic"/>
<constraint firstItem="Nru-sM-bKD" firstAttribute="top" secondItem="OWL-Bn-9c1" secondAttribute="bottom" constant="32" id="XPf-bp-0x5"/>
<constraint firstItem="awW-03-3TB" firstAttribute="top" secondItem="02G-kI-p4F" secondAttribute="bottom" constant="8" id="ey2-NL-Nq3"/>
<constraint firstItem="02G-kI-p4F" firstAttribute="centerY" secondItem="ITR-hY-wTb" secondAttribute="centerY" constant="30" id="lBM-lg-9GD"/>
<constraint firstItem="awW-03-3TB" firstAttribute="centerX" secondItem="ITR-hY-wTb" secondAttribute="centerX" id="oeo-dW-WfL"/>
<constraint firstItem="02G-kI-p4F" firstAttribute="top" secondItem="Nru-sM-bKD" secondAttribute="bottom" constant="8" id="xp4-JJ-r9V"/>
<constraint firstItem="Nru-sM-bKD" firstAttribute="centerX" secondItem="ITR-hY-wTb" secondAttribute="centerX" id="z6W-yV-Co1"/>
</constraints>
<viewLayoutGuide key="safeArea" id="x4b-tk-8EQ"/>
</view>
<connections>
<outlet property="instanceTextField" destination="02G-kI-p4F" id="DI3-0d-Mzf"/>
<outlet property="signInButton" destination="awW-03-3TB" id="ZnJ-RY-eWA"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="aNa-IN-5Hu" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-615" y="771"/>
<point key="canvasLocation" x="-615.20000000000005" y="770.46476761619192"/>
</scene>
<!--Second-->
<scene sceneID="wg7-f3-ORb">
@ -116,9 +150,11 @@
<rect key="frame" x="0.0" y="975" width="768" height="49"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
<color key="tintColor" red="0.54117647059999996" green="0.4823529412" blue="0.68235294120000001" alpha="1" colorSpace="calibratedRGB"/>
<color key="selectedImageTintColor" red="0.54117647059999996" green="0.4823529412" blue="0.68235294120000001" alpha="1" colorSpace="calibratedRGB"/>
</tabBar>
<connections>
<segue destination="9pv-A4-QxB" kind="relationship" relationship="viewControllers" id="u7Y-xg-7CH"/>
<segue destination="tkS-C2-D40" kind="relationship" relationship="viewControllers" id="u7Y-xg-7CH"/>
<segue destination="8rJ-Kc-sve" kind="relationship" relationship="viewControllers" id="lzU-1b-eKA"/>
<segue destination="Bed-pj-wE9" kind="presentation" identifier="AuthenticateSegue" id="OY3-ks-sfC"/>
</connections>
@ -127,9 +163,28 @@
</objects>
<point key="canvasLocation" x="0.0" y="0.0"/>
</scene>
<!--Timelines-->
<scene sceneID="6LG-kd-yOU">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="tkS-C2-D40" customClass="TimelinesNavigationController" customModule="elpha_ios" customModuleProvider="target" sceneMemberID="viewController">
<tabBarItem key="tabBarItem" title="Timelines" image="Timelines" id="acW-dT-cKf"/>
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="MdH-tW-gfk">
<rect key="frame" x="0.0" y="20" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="9pv-A4-QxB" kind="relationship" relationship="rootViewController" id="ein-3N-ZQu"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="lyd-tU-mSo" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="749.60000000000002" y="-320.68965517241384"/>
</scene>
</scenes>
<resources>
<image name="first" width="30" height="30"/>
<image name="Timelines" width="25" height="25"/>
<image name="second" width="30" height="30"/>
</resources>
</document>

25
elpha-ios/FirstViewController.swift

@ -1,25 +0,0 @@
//
// FirstViewController.swift
// elpha-ios
//
// Created by Dwayne Harris on 8/25/18.
// Copyright © 2018 Elpha. All rights reserved.
//
import UIKit
class FirstViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}

2
elpha-ios/MainTabBarController.swift

@ -18,7 +18,7 @@ class MainTabBarController: UITabBarController {
if AuthenticationManager.shared.sessionCount == 0 {
print("Unauthenticated")
performSegue(withIdentifier: "AuthenticateSegue", sender: self)
//performSegue(withIdentifier: "AuthenticateSegue", sender: self)
return
}
}

24
elpha-ios/TimelineViewController.swift

@ -0,0 +1,24 @@
//
// TimelinesViewController.swift
// elpha-ios
//
// Created by Dwayne Harris on 8/28/18.
// Copyright © 2018 Elpha. All rights reserved.
//
import UIKit
class TimelineViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let tootButtonItem = UIBarButtonItem(image: UIImage(named: "Toot"), style: .plain, target: self, action: #selector(compose))
navigationItem.rightBarButtonItem = tootButtonItem
}
@objc func compose() {
let alertController = UIAlertController(title: "Compose", message: "Toot", preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
present(alertController, animated: true)
}
}

15
elpha-ios/TimelinesNavigationController.swift

@ -0,0 +1,15 @@
//
// TimelinesNavigationController.swift
// elpha-ios
//
// Created by Dwayne Harris on 8/28/18.
// Copyright © 2018 Elpha. All rights reserved.
//
import UIKit
class TimelinesNavigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
Loading…
Cancel
Save