Add more options to profile view
This commit is contained in:
parent
b85894b198
commit
c319ae5ce9
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"filename" : "More.pdf",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"version" : 1,
|
||||||
|
"author" : "xcode"
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
|
@ -135,4 +135,21 @@ class ProfileTableViewController: UITableViewController {
|
||||||
|
|
||||||
extension ProfileTableViewController: ProfileHeaderTableViewCellDelegate {
|
extension ProfileTableViewController: ProfileHeaderTableViewCellDelegate {
|
||||||
|
|
||||||
|
func showMoreOptions() {
|
||||||
|
let alert = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
|
||||||
|
alert.addAction(UIAlertAction(title: "Open in Safari...", style: .default, handler: { _ in
|
||||||
|
let vc = SFSafariViewController(url: URL(string: self.account.url)!)
|
||||||
|
self.present(vc, animated: true)
|
||||||
|
}))
|
||||||
|
alert.addAction(UIAlertAction(title: "Share...", style: .default, handler: { _ in
|
||||||
|
let vc = UIActivityViewController(activityItems: [URL(string: self.account.url)!], applicationActivities: nil)
|
||||||
|
self.present(vc, animated: true)
|
||||||
|
}))
|
||||||
|
alert.addAction(UIAlertAction(title: "Send Message...", style: .default, handler: { _ in
|
||||||
|
print("send message to @\(self.account.acct)")
|
||||||
|
}))
|
||||||
|
alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
|
||||||
|
present(alert, animated: true)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,8 @@ import MastodonKit
|
||||||
|
|
||||||
protocol ProfileHeaderTableViewCellDelegate: StatusTableViewCellDelegate {
|
protocol ProfileHeaderTableViewCellDelegate: StatusTableViewCellDelegate {
|
||||||
|
|
||||||
|
func showMoreOptions()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class ProfileHeaderTableViewCell: UITableViewCell {
|
class ProfileHeaderTableViewCell: UITableViewCell {
|
||||||
|
@ -77,6 +79,10 @@ class ProfileHeaderTableViewCell: UITableViewCell {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@IBAction func morePressed(_ sender: Any) {
|
||||||
|
delegate?.showMoreOptions()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extension ProfileHeaderTableViewCell: HTMLContentLabelDelegate {
|
extension ProfileHeaderTableViewCell: HTMLContentLabelDelegate {
|
||||||
|
|
|
@ -58,6 +58,18 @@
|
||||||
<constraint firstItem="tH8-sR-DHC" firstAttribute="centerY" secondItem="KyB-ey-l11" secondAttribute="centerY" id="nYu-RE-MfA"/>
|
<constraint firstItem="tH8-sR-DHC" firstAttribute="centerY" secondItem="KyB-ey-l11" secondAttribute="centerY" id="nYu-RE-MfA"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
|
<button opaque="NO" alpha="0.59999999999999998" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qiv-gB-kiX">
|
||||||
|
<rect key="frame" x="306" y="127" width="53" height="15"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="15" id="9Ch-uS-uEA"/>
|
||||||
|
<constraint firstAttribute="width" constant="53" id="9yR-dQ-Zfr"/>
|
||||||
|
</constraints>
|
||||||
|
<color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
<state key="normal" title="Button" image="More"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="morePressed:" destination="iN0-l3-epB" eventType="touchUpInside" id="0go-4p-qDa"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
</subviews>
|
</subviews>
|
||||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
|
@ -75,6 +87,8 @@
|
||||||
<constraint firstItem="MIj-OR-NOR" firstAttribute="leading" secondItem="KyB-ey-l11" secondAttribute="trailing" constant="8" id="iG7-yZ-9u3"/>
|
<constraint firstItem="MIj-OR-NOR" firstAttribute="leading" secondItem="KyB-ey-l11" secondAttribute="trailing" constant="8" id="iG7-yZ-9u3"/>
|
||||||
<constraint firstItem="MIj-OR-NOR" firstAttribute="top" secondItem="LjK-72-Bez" secondAttribute="bottom" constant="8" id="nMM-6t-bjX"/>
|
<constraint firstItem="MIj-OR-NOR" firstAttribute="top" secondItem="LjK-72-Bez" secondAttribute="bottom" constant="8" id="nMM-6t-bjX"/>
|
||||||
<constraint firstItem="vUN-kp-3ea" firstAttribute="bottom" secondItem="I0n-aP-dJP" secondAttribute="bottom" constant="16" id="nPu-bH-pLA"/>
|
<constraint firstItem="vUN-kp-3ea" firstAttribute="bottom" secondItem="I0n-aP-dJP" secondAttribute="bottom" constant="16" id="nPu-bH-pLA"/>
|
||||||
|
<constraint firstAttribute="trailing" secondItem="qiv-gB-kiX" secondAttribute="trailing" constant="16" id="nYG-p6-Ezm"/>
|
||||||
|
<constraint firstItem="qiv-gB-kiX" firstAttribute="bottom" secondItem="Fw7-OL-iy5" secondAttribute="bottom" constant="-8" id="pg7-L7-u2f"/>
|
||||||
<constraint firstItem="I0n-aP-dJP" firstAttribute="top" secondItem="MIj-OR-NOR" secondAttribute="bottom" constant="8" id="upb-uc-3BZ"/>
|
<constraint firstItem="I0n-aP-dJP" firstAttribute="top" secondItem="MIj-OR-NOR" secondAttribute="bottom" constant="8" id="upb-uc-3BZ"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||||
|
@ -90,4 +104,7 @@
|
||||||
<point key="canvasLocation" x="40.799999999999997" y="98.950524737631198"/>
|
<point key="canvasLocation" x="40.799999999999997" y="98.950524737631198"/>
|
||||||
</view>
|
</view>
|
||||||
</objects>
|
</objects>
|
||||||
|
<resources>
|
||||||
|
<image name="More" width="263" height="75"/>
|
||||||
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|
Loading…
Reference in New Issue