更改通知内容扩展界面大小 Xamarin iOS

问题描述 投票:0回答:1

我已经实现了通知内容扩展,以便让操作按钮在我的应用程序中正确显示。我的通知所需要的只是默认标题和操作按钮,没有界面。因此,我想隐藏界面或将其大小缩小到零,但没有任何效果。

显示的内容如下:

我尝试过更新

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>

没有任何效果。如何缩小/隐藏/删除推送通知中的界面,使其只有标题和按钮?

push-notification xamarin.ios uiviewcontroller viewcontroller notification-content-extension
1个回答
0
投票

根据设置通知内容扩展的类别,您可以尝试以下操作来删除内容:

1.设置内容区域大小

编辑扩展的 Info.plist 文件,并将 NSExtensionAttributes 键的 UNNotificationExtensionInitialContentSizeRatio 键设置为类型 Number,值为零。

2.隐藏默认通知内容

UNNotificationExtensionDefaultContentHidden 键添加到 NSExtensionAttributes 键,作为扩展的 Info.plist 文件中的布尔类型,值为 YES。

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.