FSCalendar日期未正确对齐

时间:2017-11-19 15:25:27

标签: ios objective-c xcode fscalendar

当我第一次加载日历时,布局变得不对齐(参见图1)。在将我的设备物理旋转到横向并回到纵向后,它会自行修复。 (参见图2)

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

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

  • 此前的页面还有另一个FSCalendar。
  • 这个受影响的fscalendar位于一个scrollview内,约束设置为superview的高度= 0.4,左边距为8的宽度,中心x与superview对齐。

First load

After device rotate

1 个答案:

答案 0 :(得分:0)

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

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

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

calendarView.translatesAutoresizingMaskIntoConstraints = false
calendarContainer.insertSubview(calendarView, belowSubview: previousButton)
[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 })