标签: displaymode

为什么在 displayModeButtonItem 触发 splitViewController 折叠时不调用 viewWillTransitionToSize...?

我有一个 UISplitViewController,它的辅助(详细)VC 是一个 UICollectionViewController。我希望集合的单元格根据集合视图的大小和方面的变化来调整大小。我通过覆盖 UIContentContainer 协议方法触发此调整大小:

// MARK: - UIContentContainer protocol methods

override
func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator)
{
    setFlowLayoutItemSizeForViewSize(size)
    collectionViewLayout.invalidateLayout()
}
Run Code Online (Sandbox Code Playgroud)

当设备旋转时,这就是我想要的方式调用和工作;但是当 splitViewController?.displayModeButtonItem() 提供的按钮被按下以显示或折叠主(主)视图控制器时,不会调用此方法。由于折叠必然会更改辅助(详细信息)视图的大小,因此我认为应该在触发时调用 viewWillTransitionToSize... 方法。

所以,两个问题:

1) 实际上是否应该在按下 displayModeButtonItem 时调用 viewWillTransitionToSize... 方法?如果是这样,我似乎发现了一个错误。

2)如果我看到的实际上是正确的行为,任何人都可以建议我的辅助(详细)控制器“知道”什么时候按下 displayModeButtonItem 或者它的大小何时因该按钮而改变被压?

谢谢!

卡尔

button uisplitviewcontroller ios displaymode viewwilltransitiontosize

6
推荐指数
1
解决办法
3737
查看次数

Xaml 日历 DisplayMode="Year" 与 Grid.Definitions 和 DataContext 一起使用时不起作用

我正在使用日历DisplayMode="Year"this.DataContext = new SampleModel();因此我可以访问模型的属性。然而日历渲染错误(见截图)

代码归结为:Xaml:

<Window x:Class="Excel2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="600" Width="800">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="250"></ColumnDefinition>
            <ColumnDefinition Width="2*"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="220"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
        </Grid.RowDefinitions>

        <Calendar DisplayMode="Year"></Calendar>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

背后代码:

using ....

namespace Excel2
{
    class SampleModel
    {
    }

    public partial class MainWindow : Window
    {
        public MainWindow()
        {            
            InitializeComponent();
            this.DataContext = new SampleModel();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

结果: XAML 日历 Displaymode=年份错误 如您所见,渲染日历时不显示任何年份信息。

如果我不使用网格定义,Displaymode=Year或者this.DataContext =...一切都会正确呈现。

这是 XAML 中的错误吗?

datacontext grid xaml calendar displaymode

5
推荐指数
1
解决办法
918
查看次数

在 Angular 5 中添加 ServiceWorkerModule 后,PWA 显示独立和全屏不起作用

当前行为

将配置添加到应用程序模块environment.production ? ServiceWorkerModule.register('./ngsw-worker.js') : []serviceWorker在 .angular-cli.json 中启用后,我的应用程序在通过 Chrome 安装在我的设备(LG G6)display上并在我的设备上打开standalonefullscreen打开后在我的设备上设置 manifest.json 中的属性后,应用程序始终在浏览器中打开在新标签中。当我删除 Service Worker 配置(应用模块中的行)时,仅在独立或全屏模式下打开清单的应用。

预期行为

安装应用程序后,应用程序应以 stadalone 或全屏模式打开,取决于 manifest.json 中的设置值。

使用说明最小化问题的重现

我有使用 4.3 版生成并更新到 5.1.3 的应用程序,添加 @angular/service-worker 并build使用--prod. 为了为应用程序提供服务,我在我的 chrome 中使用端口转发。

清单文件

{
  "short_name": "FindPark",
  "name": "Find Nearby Car Parks",
  "start_url": "/search",

  "theme_color": "#206886",
  "background_color": "#ffffff",

  "display": "standalone",
  "orientation": "portrait",

  "icons": [
    {
      "src": "/assets/favicon-72x72.png",
      "sizes": "72x72",
      "type": "image/png"
    },
    {
      "src": "/assets/favicon-96x96.png",
      "sizes": …
Run Code Online (Sandbox Code Playgroud)

displaymode progressive-web-apps manifest.json angular

2
推荐指数
1
解决办法
6531
查看次数