我已经实现了通知内容扩展,以便让操作按钮在我的应用程序中正确显示。我的通知所需要的只是默认标题和操作按钮,没有界面。因此,我想隐藏界面或将其大小缩小到零,但没有任何效果。
我尝试过更新
ViewDidLoad()
中的 ViewController
中的尺寸,如下所示:
public override void ViewDidLoad()
{
base.ViewDidLoad();
PreferredContentSize = new CoreGraphics.CGSize(0, 0);
ContentSizeForViewInPopover = PreferredContentSize;
View.SetNeedsUpdateConstraints();
View.SetNeedsLayout();
UpdateViewConstraints();
// Do any required interface initialization here.
}
我尝试在 XCode 中将
ViewController
更改为 FreeForm
并将其宽度和高度设置为 0
我还将 storeboard 文件中视图的宽度和高度设置为 0。
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="M4Y-Lb-cyx">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Notification View Controller-->
<scene sceneID="cwh-vc-ff4">
<objects>
<viewController id="M4Y-Lb-cyx" userLabel="Notification View Controller" customClass="NotificationViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="sVI-DA-27z"/>
<viewControllerLayoutGuide type="bottom" id="WK5-y5-Ae8"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" simulatedAppContext="notificationCenter" id="S3S-Oj-5AN">
<rect key="frame" x="0.0" y="0.0" width="0" height="0"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="0.45882353186607361" green="0.74901962280273438" blue="0.66666668653488159" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<value key="contentSizeForViewInPopover" type="size" width="0.0" height="0.0"/>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="vXp-U4-Rya" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-33" y="-8"/>
</scene>
</scenes>
</document>
没有任何效果。如何缩小/隐藏/删除推送通知中的界面,使其只有标题和按钮?
根据设置通知内容扩展的类别,您可以尝试以下操作来删除内容:
1.设置内容区域大小
编辑扩展的 Info.plist 文件,并将 NSExtensionAttributes 键的 UNNotificationExtensionInitialContentSizeRatio 键设置为类型 Number,值为零。
2.隐藏默认通知内容
将 UNNotificationExtensionDefaultContentHidden 键添加到 NSExtensionAttributes 键,作为扩展的 Info.plist 文件中的布尔类型,值为 YES。
希望有帮助!