forked from organicmaps/organicmaps
[ios] fix crash on auth controller
This commit is contained in:
parent
bde74d7240
commit
3bcd71a269
4 changed files with 46 additions and 51 deletions
|
@ -1,11 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" 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="13772"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
|
@ -21,7 +21,7 @@
|
|||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT" propertyAccessControl="none">
|
||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
|
@ -44,8 +44,9 @@
|
|||
<constraint firstItem="2ia-hi-UhQ" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" id="zOH-o1-384"/>
|
||||
</constraints>
|
||||
<viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
|
||||
<point key="canvasLocation" x="10" y="54"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="JS4-5h-4t1" customClass="BMCPermissionsHeader" customModule="maps_me" customModuleProvider="target" propertyAccessControl="all">
|
||||
<view contentMode="scaleToFill" id="JS4-5h-4t1" customClass="BMCPermissionsHeader" customModule="maps_me" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="48"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
|
@ -82,9 +83,10 @@
|
|||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="n2n-JX-PVD" secondAttribute="bottom" id="16J-5N-167"/>
|
||||
<constraint firstAttribute="trailing" secondItem="n2n-JX-PVD" secondAttribute="trailing" id="1Kk-We-iJr"/>
|
||||
<constraint firstItem="HgY-nM-JMn" firstAttribute="leading" secondItem="lfK-mr-B7Y" secondAttribute="leading" constant="16" id="AR8-Fj-h1S"/>
|
||||
<constraint firstItem="cae-1g-tnD" firstAttribute="top" secondItem="lfK-mr-B7Y" secondAttribute="top" id="Abh-kc-zx4"/>
|
||||
<constraint firstItem="n2n-JX-PVD" firstAttribute="leading" secondItem="lfK-mr-B7Y" secondAttribute="leading" id="DnB-7Y-lie"/>
|
||||
<constraint firstItem="cae-1g-tnD" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="HgY-nM-JMn" secondAttribute="trailing" constant="4" id="JxT-EF-AfH"/>
|
||||
<constraint firstItem="cae-1g-tnD" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="HgY-nM-JMn" secondAttribute="trailing" priority="999" constant="4" id="JxT-EF-AfH"/>
|
||||
<constraint firstItem="HgY-nM-JMn" firstAttribute="centerY" secondItem="lfK-mr-B7Y" secondAttribute="centerY" id="NMx-gW-Qgc"/>
|
||||
<constraint firstAttribute="trailing" secondItem="cae-1g-tnD" secondAttribute="trailing" id="hgt-qC-DUY"/>
|
||||
<constraint firstAttribute="bottom" secondItem="cae-1g-tnD" secondAttribute="bottom" id="k7O-5e-giN"/>
|
||||
|
@ -97,7 +99,6 @@
|
|||
<constraint firstItem="lfK-mr-B7Y" firstAttribute="top" secondItem="qAR-ec-71L" secondAttribute="top" id="W1B-S9-ibc"/>
|
||||
<constraint firstItem="qAR-ec-71L" firstAttribute="bottom" secondItem="lfK-mr-B7Y" secondAttribute="bottom" id="bKs-eE-2xZ"/>
|
||||
<constraint firstItem="qAR-ec-71L" firstAttribute="trailing" secondItem="lfK-mr-B7Y" secondAttribute="trailing" id="ihj-Ul-4Pq"/>
|
||||
<constraint firstItem="HgY-nM-JMn" firstAttribute="leading" secondItem="qAR-ec-71L" secondAttribute="leading" constant="16" id="j4b-bK-ETs"/>
|
||||
</constraints>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<viewLayoutGuide key="safeArea" id="qAR-ec-71L"/>
|
||||
|
@ -105,9 +106,9 @@
|
|||
<outlet property="button" destination="cae-1g-tnD" id="hql-xY-t8w"/>
|
||||
<outlet property="label" destination="HgY-nM-JMn" id="N0S-Nq-WPq"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="483" y="-256"/>
|
||||
<point key="canvasLocation" x="482.5" y="-256"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="7vF-P7-dID" customClass="BMCCategoriesHeader" customModule="maps_me" customModuleProvider="target" propertyAccessControl="all">
|
||||
<view contentMode="scaleToFill" id="7vF-P7-dID" customClass="BMCCategoriesHeader" customModule="maps_me" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="48"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
|
@ -134,6 +135,7 @@
|
|||
<constraint firstAttribute="trailing" secondItem="JVu-ay-TFe" secondAttribute="trailing" id="KIx-2a-nNg"/>
|
||||
<constraint firstItem="1W2-mD-BVK" firstAttribute="centerY" secondItem="sv4-Wg-K1m" secondAttribute="centerY" id="OAv-W6-rZH"/>
|
||||
<constraint firstAttribute="bottom" secondItem="JVu-ay-TFe" secondAttribute="bottom" id="TkC-ge-8MO"/>
|
||||
<constraint firstItem="1W2-mD-BVK" firstAttribute="leading" secondItem="sv4-Wg-K1m" secondAttribute="leading" constant="16" id="cad-o8-xir"/>
|
||||
<constraint firstItem="JVu-ay-TFe" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="1W2-mD-BVK" secondAttribute="trailing" constant="4" id="gDO-lh-aI1"/>
|
||||
</constraints>
|
||||
</view>
|
||||
|
@ -141,7 +143,6 @@
|
|||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstItem="sv4-Wg-K1m" firstAttribute="leading" secondItem="8ge-Sy-Y71" secondAttribute="leading" id="5Lw-3V-bwA"/>
|
||||
<constraint firstItem="1W2-mD-BVK" firstAttribute="leading" secondItem="8ge-Sy-Y71" secondAttribute="leading" constant="16" id="Siv-i4-TtA"/>
|
||||
<constraint firstItem="8ge-Sy-Y71" firstAttribute="bottom" secondItem="sv4-Wg-K1m" secondAttribute="bottom" id="Sn0-II-lrv"/>
|
||||
<constraint firstItem="8ge-Sy-Y71" firstAttribute="trailing" secondItem="sv4-Wg-K1m" secondAttribute="trailing" id="TX6-c7-3GF"/>
|
||||
<constraint firstItem="sv4-Wg-K1m" firstAttribute="top" secondItem="8ge-Sy-Y71" secondAttribute="top" id="fpS-lQ-tKT"/>
|
||||
|
@ -154,7 +155,7 @@
|
|||
</connections>
|
||||
<point key="canvasLocation" x="483" y="-148"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="DhR-7O-ccQ" propertyAccessControl="all">
|
||||
<view contentMode="scaleToFill" id="DhR-7O-ccQ">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="24"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
|
@ -162,7 +163,7 @@
|
|||
<viewLayoutGuide key="safeArea" id="Iuf-Mb-Pmk"/>
|
||||
<point key="canvasLocation" x="483" y="-50"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="G0o-Op-zPp" customClass="BMCNotificationsHeader" customModule="maps_me" customModuleProvider="target" propertyAccessControl="all">
|
||||
<view contentMode="scaleToFill" id="G0o-Op-zPp" customClass="BMCNotificationsHeader" customModule="maps_me" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="48"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" 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="13772"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
|
||||
<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" rowHeight="123" id="KGk-i7-Jjw" customClass="BMCPermissionsPendingCell" customModule="maps_me" customModuleProvider="target" propertyAccessControl="all">
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="123" id="KGk-i7-Jjw" customClass="BMCPermissionsPendingCell" customModule="maps_me" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="93"/>
|
||||
<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">
|
||||
|
@ -37,7 +37,6 @@
|
|||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="XML-iy-vLE" secondAttribute="bottom" constant="16" id="3Og-vq-u6d"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Myl-MN-cW3" secondAttribute="bottom" priority="500" constant="16" id="GFb-GN-jZJ"/>
|
||||
<constraint firstItem="XML-iy-vLE" firstAttribute="top" secondItem="Myl-MN-cW3" secondAttribute="bottom" constant="16" id="Q0M-Au-m9X"/>
|
||||
<constraint firstItem="Myl-MN-cW3" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="UBL-jH-CoQ"/>
|
||||
<constraint firstItem="XML-iy-vLE" firstAttribute="centerX" secondItem="H2p-sc-9uM" secondAttribute="centerX" id="gav-SX-OOo"/>
|
||||
|
|
|
@ -21,14 +21,6 @@ final class AuthorizationViewController: MWMViewController {
|
|||
}
|
||||
}
|
||||
|
||||
@IBOutlet private weak var tapView: UIView! {
|
||||
didSet {
|
||||
iPadSpecific {
|
||||
tapView.removeFromSuperview()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@IBOutlet private weak var contentView: UIView! {
|
||||
didSet {
|
||||
contentView.backgroundColor = UIColor.white()
|
||||
|
@ -183,10 +175,14 @@ final class AuthorizationViewController: MWMViewController {
|
|||
|
||||
@IBOutlet private weak var latestNewsTextView: UITextView! {
|
||||
didSet {
|
||||
latestNewsTextView.text = L("sign_agree_news_gdpr")
|
||||
latestNewsTextView.textColor = UIColor.blackPrimaryText()
|
||||
let text = L("sign_agree_news_gdpr")
|
||||
let attributes: [NSAttributedStringKey : Any] = [NSAttributedStringKey.font: UIFont.regular16(),
|
||||
NSAttributedStringKey.foregroundColor: UIColor.blackPrimaryText()]
|
||||
latestNewsTextView.attributedText = NSAttributedString(string: text, attributes: attributes)
|
||||
}
|
||||
}
|
||||
|
||||
@IBOutlet private weak var topToContentConstraint: NSLayoutConstraint!
|
||||
|
||||
typealias SuccessHandler = (MWMSocialTokenType) -> Void
|
||||
typealias ErrorHandler = (MWMAuthorizationError) -> Void
|
||||
|
@ -197,12 +193,6 @@ final class AuthorizationViewController: MWMViewController {
|
|||
private let errorHandler: ErrorHandler?
|
||||
private let completionHandler: CompletionHandler?
|
||||
|
||||
private func addConstraints(v1: UIView, v2: UIView) {
|
||||
[NSLayoutAttribute.top, .bottom, .left, .right].forEach {
|
||||
NSLayoutConstraint(item: v1, attribute: $0, relatedBy: .equal, toItem: v2, attribute: $0, multiplier: 1, constant: 0).isActive = true
|
||||
}
|
||||
}
|
||||
|
||||
@objc
|
||||
init(barButtonItem: UIBarButtonItem?, sourceComponent: MWMAuthorizationSource, successHandler: SuccessHandler? = nil, errorHandler: ErrorHandler? = nil, completionHandler: CompletionHandler? = nil) {
|
||||
self.sourceComponent = sourceComponent
|
||||
|
@ -230,6 +220,13 @@ final class AuthorizationViewController: MWMViewController {
|
|||
required init?(coder _: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
iPadSpecific {
|
||||
topToContentConstraint.isActive = false
|
||||
}
|
||||
}
|
||||
|
||||
override func viewDidAppear(_ animated: Bool) {
|
||||
super.viewDidAppear(animated)
|
||||
|
@ -237,7 +234,9 @@ final class AuthorizationViewController: MWMViewController {
|
|||
|
||||
override func viewDidLayoutSubviews() {
|
||||
super.viewDidLayoutSubviews()
|
||||
preferredContentSize = contentView.size
|
||||
iPadSpecific {
|
||||
preferredContentSize = contentView.systemLayoutSizeFitting(preferredContentSize, withHorizontalFittingPriority: .fittingSizeLevel, verticalFittingPriority: .fittingSizeLevel)
|
||||
}
|
||||
}
|
||||
|
||||
@IBAction func onCancel() {
|
||||
|
@ -306,3 +305,9 @@ extension AuthorizationViewController: UITextViewDelegate {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
extension AuthorizationViewController: UIGestureRecognizerDelegate {
|
||||
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
|
||||
return !contentView.point(inside: touch.location(in: contentView), with: nil)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,30 +20,19 @@
|
|||
<outlet property="privacyPolicyCheck" destination="33D-0u-y3N" id="kAN-wB-yUl"/>
|
||||
<outlet property="privacyPolicyTextView" destination="LhW-gs-XN9" id="HWt-AO-vvH"/>
|
||||
<outlet property="separator" destination="hWD-aE-jYh" id="myS-1z-Saw"/>
|
||||
<outlet property="tapView" destination="5kf-Pd-KAZ" id="QD3-Pa-zgR"/>
|
||||
<outlet property="termsOfUseCheck" destination="3cN-Qb-mdM" id="lk9-6H-kB5"/>
|
||||
<outlet property="termsOfUseTextView" destination="PBR-9l-2Gh" id="aBv-qx-F9h"/>
|
||||
<outlet property="textLabel" destination="0EA-1u-hvB" id="oDy-2V-Lrx"/>
|
||||
<outlet property="titleLabel" destination="LFT-Lb-6jj" id="uQG-BI-EAe"/>
|
||||
<outlet property="topToContentConstraint" destination="ISc-Du-Svk" id="BA2-22-dk0"/>
|
||||
<outlet property="view" destination="iN0-l3-epB" id="6le-MR-NDK"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="iN0-l3-epB" customClass="SolidTouchView">
|
||||
<view contentMode="scaleToFill" id="iN0-l3-epB">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" verticalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="5kf-Pd-KAZ">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="212.5"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.19983411815068494" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<gestureRecognizers/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="40" id="NYl-aG-vKs"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<outletCollection property="gestureRecognizers" destination="h3R-bf-65K" appends="YES" id="el6-fa-sPv"/>
|
||||
</connections>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mb9-vK-FLE">
|
||||
<rect key="frame" x="0.0" y="212.5" width="375" height="454.5"/>
|
||||
<subviews>
|
||||
|
@ -60,7 +49,7 @@
|
|||
<constraint firstAttribute="height" constant="1" id="KJA-Gs-fVA"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" verticalHuggingPriority="750" verticalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="C1g-0v-suZ">
|
||||
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" verticalHuggingPriority="750" verticalCompressionResistancePriority="250" bounces="NO" bouncesZoom="NO" translatesAutoresizingMaskIntoConstraints="NO" id="C1g-0v-suZ">
|
||||
<rect key="frame" x="0.0" y="45" width="375" height="410"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eSu-cK-AZG">
|
||||
|
@ -295,18 +284,19 @@
|
|||
<gestureRecognizers/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="mb9-vK-FLE" secondAttribute="bottom" id="Dma-Bm-O11"/>
|
||||
<constraint firstAttribute="trailing" secondItem="5kf-Pd-KAZ" secondAttribute="trailing" id="MP9-cM-ON8"/>
|
||||
<constraint firstItem="mb9-vK-FLE" firstAttribute="top" relation="greaterThanOrEqual" secondItem="iN0-l3-epB" secondAttribute="top" constant="40" id="ISc-Du-Svk"/>
|
||||
<constraint firstItem="mb9-vK-FLE" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="S7z-xe-BcP"/>
|
||||
<constraint firstItem="5kf-Pd-KAZ" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="V7Y-js-5JA"/>
|
||||
<constraint firstAttribute="trailing" secondItem="mb9-vK-FLE" secondAttribute="trailing" id="cjh-uT-fAL"/>
|
||||
<constraint firstItem="5kf-Pd-KAZ" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="mhC-Cp-zLW"/>
|
||||
<constraint firstItem="mb9-vK-FLE" firstAttribute="top" secondItem="5kf-Pd-KAZ" secondAttribute="bottom" id="pkl-0y-Ozq"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<outletCollection property="gestureRecognizers" destination="h3R-bf-65K" appends="YES" id="8sz-cx-4Za"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="33.5" y="53.5"/>
|
||||
</view>
|
||||
<tapGestureRecognizer id="h3R-bf-65K">
|
||||
<tapGestureRecognizer cancelsTouchesInView="NO" id="h3R-bf-65K">
|
||||
<connections>
|
||||
<action selector="onCancel" destination="-1" id="xbp-Y6-A46"/>
|
||||
<outlet property="delegate" destination="-1" id="CFc-rf-awe"/>
|
||||
</connections>
|
||||
</tapGestureRecognizer>
|
||||
</objects>
|
||||
|
|
Loading…
Add table
Reference in a new issue