summaryrefslogtreecommitdiff
path: root/Juick/Views
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2018-10-16 23:04:01 +0300
committerGravatar Vitaly Takmazov2018-10-16 23:04:01 +0300
commit842990ac65de6fd61e027c8a9cff48d30aaf3a60 (patch)
tree2150701f1c32ec69b9d254a4c96dedb0573737d5 /Juick/Views
parenta7cb4ab3f629b423099afad204c7ae1bf8df9677 (diff)
Content loading
Diffstat (limited to 'Juick/Views')
-rw-r--r--Juick/Views/ContentLoadingCell.h17
-rw-r--r--Juick/Views/ContentLoadingCell.m22
-rw-r--r--Juick/Views/ContentLoadingCell.xib84
3 files changed, 123 insertions, 0 deletions
diff --git a/Juick/Views/ContentLoadingCell.h b/Juick/Views/ContentLoadingCell.h
new file mode 100644
index 0000000..d9a8f6f
--- /dev/null
+++ b/Juick/Views/ContentLoadingCell.h
@@ -0,0 +1,17 @@
+//
+// ContentLoadingCell.h
+// Juick
+//
+// Created by Vitaly Takmazov on 16/10/2018.
+// Copyright © 2018 com.juick. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface ContentLoadingCell : UITableViewCell
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Juick/Views/ContentLoadingCell.m b/Juick/Views/ContentLoadingCell.m
new file mode 100644
index 0000000..5ec67b3
--- /dev/null
+++ b/Juick/Views/ContentLoadingCell.m
@@ -0,0 +1,22 @@
+//
+// ContentLoadingCell.m
+// Juick
+//
+// Created by Vitaly Takmazov on 16/10/2018.
+// Copyright © 2018 com.juick. All rights reserved.
+//
+
+#import "ContentLoadingCell.h"
+
+@implementation ContentLoadingCell
+
+- (void)awakeFromNib {
+ [super awakeFromNib];
+}
+
+- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
+ [super setSelected:selected animated:animated];
+ [self.contentView startShimmering];
+}
+
+@end
diff --git a/Juick/Views/ContentLoadingCell.xib b/Juick/Views/ContentLoadingCell.xib
new file mode 100644
index 0000000..e58af72
--- /dev/null
+++ b/Juick/Views/ContentLoadingCell.xib
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+ <device id="retina4_7" orientation="portrait">
+ <adaptation id="fullscreen"/>
+ </device>
+ <dependencies>
+ <deployment identifier="iOS"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14283.14"/>
+ <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+ </dependencies>
+ <objects>
+ <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+ <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="contentLoadingCell" rowHeight="230" id="KGk-i7-Jjw" customClass="ContentLoadingCell">
+ <rect key="frame" x="0.0" y="0.0" width="310" height="230"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+ <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
+ <rect key="frame" x="0.0" y="0.0" width="310" height="229.5"/>
+ <autoresizingMask key="autoresizingMask"/>
+ <subviews>
+ <stackView opaque="NO" contentMode="scaleToFill" verticalCompressionResistancePriority="751" axis="vertical" spacing="24" translatesAutoresizingMaskIntoConstraints="NO" id="33o-rP-dfk">
+ <rect key="frame" x="24" y="12" width="262" height="205.5"/>
+ <subviews>
+ <stackView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="255" verticalCompressionResistancePriority="748" alignment="center" spacing="12" translatesAutoresizingMaskIntoConstraints="NO" id="Bqm-4Y-1yg">
+ <rect key="frame" x="0.0" y="0.0" width="262" height="48"/>
+ <subviews>
+ <view contentMode="scaleToFill" verticalCompressionResistancePriority="748" translatesAutoresizingMaskIntoConstraints="NO" id="Xfd-wK-nGQ">
+ <rect key="frame" x="0.0" y="0.0" width="48" height="48"/>
+ <color key="backgroundColor" red="0.97254901960784312" green="0.97254901960784312" blue="0.97254901960784312" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="48" id="gWm-7q-ure"/>
+ <constraint firstAttribute="width" constant="48" id="paR-BH-BPq"/>
+ </constraints>
+ </view>
+ <view contentMode="scaleToFill" verticalCompressionResistancePriority="748" translatesAutoresizingMaskIntoConstraints="NO" id="RpL-2E-Dtt">
+ <rect key="frame" x="60" y="12" width="202" height="24"/>
+ <color key="backgroundColor" red="0.97254901960784312" green="0.97254901960784312" blue="0.97254901960784312" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ <constraints>
+ <constraint firstAttribute="height" constant="24" id="jxf-Sb-SeH"/>
+ </constraints>
+ </view>
+ </subviews>
+ </stackView>
+ <stackView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="249" verticalCompressionResistancePriority="752" axis="vertical" distribution="fillEqually" spacing="12" translatesAutoresizingMaskIntoConstraints="NO" id="WY4-IV-5wO">
+ <rect key="frame" x="0.0" y="72" width="262" height="133.5"/>
+ <subviews>
+ <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="TF4-pH-jy5">
+ <rect key="frame" x="0.0" y="0.0" width="262" height="17"/>
+ <color key="backgroundColor" red="0.97254901960784312" green="0.97254901960784312" blue="0.97254901960784312" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ </view>
+ <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iLC-oW-h16">
+ <rect key="frame" x="0.0" y="29" width="262" height="17"/>
+ <color key="backgroundColor" red="0.97254901960784312" green="0.97254901960784312" blue="0.97254901960784312" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ </view>
+ <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="e26-WV-V2J">
+ <rect key="frame" x="0.0" y="58" width="262" height="17.5"/>
+ <color key="backgroundColor" red="0.97254901960784312" green="0.97254901960784312" blue="0.97254901960784312" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ </view>
+ <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5HE-g4-DHe">
+ <rect key="frame" x="0.0" y="87.5" width="262" height="17"/>
+ <color key="backgroundColor" red="0.97254901960784312" green="0.97254901960784312" blue="0.97254901960784312" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ </view>
+ <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="O0R-kH-hzS">
+ <rect key="frame" x="0.0" y="116.5" width="262" height="17"/>
+ <color key="backgroundColor" red="0.97254901960784312" green="0.97254901960784312" blue="0.97254901960784312" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ </view>
+ </subviews>
+ </stackView>
+ </subviews>
+ </stackView>
+ </subviews>
+ <constraints>
+ <constraint firstItem="33o-rP-dfk" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="12" id="Fdp-wO-B2U"/>
+ <constraint firstAttribute="bottom" secondItem="33o-rP-dfk" secondAttribute="bottom" constant="12" id="PBl-xt-lLN"/>
+ <constraint firstAttribute="trailing" secondItem="33o-rP-dfk" secondAttribute="trailing" constant="24" id="kae-JF-BnF"/>
+ <constraint firstItem="33o-rP-dfk" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="24" id="oli-Q3-Y7U"/>
+ </constraints>
+ </tableViewCellContentView>
+ <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
+ <point key="canvasLocation" x="139.19999999999999" y="226.6866566716642"/>
+ </tableViewCell>
+ </objects>
+</document>