第一次加载日历时,布局未对齐(请参阅图1)。将设备物理旋转为横向并回到纵向后,它会自行修复。 (请参阅图片2)

有人知道如何解决此问题吗?我不知道从哪里开始找到导致这种情况发生的问题。

旁注:(不确定是否与此问题有关。)

  • 在此之前的页面上还有另一个FSCalendar。
  • 此受影响的fscalendar位于滚动视图内,其约束条件设置为super视图的高度= 0.4,宽度设置为左,右边界为8,并且中心x与super视图对齐。

  • ios - FSC日历日期未正确对齐-LMLPHP

    ios - FSC日历日期未正确对齐-LMLPHP

    最佳答案

    我遇到了同样的问题(就像您一样,旋转设备可以解决此问题)。

    通过更改布局约束并将FSCalendar的translatesAutoresizingMaskIntoConstraints设置为false(我已通过编程方式创建了FSCalendar),我得以解决问题。

    最后,我将FSCalendar放在另一个UIView中,并按如下所示进行设置:

    calendarView.translatesAutoresizingMaskIntoConstraints = false
    calendarContainer.addSubview(calendarView)
    [NSLayoutConstraint(item: calendarView, attribute: .top, relatedBy: .equal, toItem: calendarContainer, attribute: .top, multiplier: 1, constant: 0),
     NSLayoutConstraint(item: calendarView, attribute: .bottom, relatedBy: .equal, toItem: calendarContainer, attribute: .bottom, multiplier: 1, constant: 0),
     NSLayoutConstraint(item: calendarView, attribute: .leading, relatedBy: .equal, toItem: calendarContainer, attribute: .leading, multiplier: 1, constant: 0),
     NSLayoutConstraint(item: calendarView, attribute: .trailing, relatedBy: .equal, toItem: calendarContainer, attribute: .trailing, multiplier: 1, constant: 0)
    ].forEach({ $0.isActive = true })
    

    10-07 21:07