У меня нет прямого ответа, но место для просмотра. К сожалению, это превышает пространство для комментариев, поэтому я должен его здесь поместить. Сожалею.
Если вы выберите раскадровку в проводнике проекта, вы можете открыть исходный код. Раскадровки - это всего лишь файлы XML. Как выглядит viewcontroller? Сравните это со ссылкой, например, с недавно созданной. Возможно, вы можете поделиться частью xml диспетчера представлений? Пример с одним (из коробки) контроллером представления:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8191" systemVersion="15A284" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8154"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="ViewController" customModule="eee" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<animations/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>
Вы можете использовать свойство события target
. Свойство target ссылается на элемент, который был фактически нажат, даже когда вы присоединяете обработчик к восходящему элементу
(см. https://developer.mozilla.org/en-US/docs/Web/ API / Event / target )
вы получите ссылку на событие в качестве первого аргумента вашего обработчика onClick
myElement.onclick = function (ev) {
if (ev.target.id === 'details') {
// the clicked element is the details element
}
}
, вы также можете проверить, является ли целью видео элемент например.
console.log(ev.target.nodeName === 'VIDEO')